Ulike DBMSer. Mest kjente: Oracle PostGreSQL* MySQL* SQLServer* DB2 SQLite Access (DBMS og utv. verktøy i ett) *Skal benyttes i kurset.



Like dokumenter
Databaser kort intro. Tom Heine Nätt

MySQL. Historikk. Nedlasting og installasjon

1. SQL datadefinisjon og manipulering

Sikkerhet og tilgangskontroll i RDBMS-er

Forelesning 3 DAS - Systemtabeller, indekser, distribuerte systemer m.m. - Tom Heine Nätt/Edgar Bostrøm

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

Tilkobling og Triggere

Applikasjonsutvikling med databaser

Forelesning 1 DAS - Introduksjon / Systemer / Brukeradmin - (Tom Heine Nätt /) Edgar Boström / Lars V. Magnusson

Kjøre Wordpress på OSX

Innstallasjon og oppsett av Wordpress

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008

ORDBMS og OODBMS i praksis

Brukerveiledning for Intelligent Converters MySQL Migration Toolkit IKA Trøndelag IKS 2012

Utvikling fra kjernen og ut

SQL Server guide til e-lector

6105 Windows Server og datanett

Oppgave 1 (Opprett en database og en tabell)

6105 Windows Server og datanett

Småteknisk Cantor Controller installasjon

Datamodellering og databaser SQL, del 2

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

PowerOffice Server Service

Datamodellering og databaser SQL, del 2

Datamodellering og databaser SQL, del 2

Installasjonsveiledning PowerOffice SQL

Lab 1: Installasjon av Virtualiseringsløsning (VMWare Server ESXi 6.5) med en Virtuell Linux maskin (Cent OS 7 64-bit)

PowerOffice Server Service

Din verktøykasse for anbud og prosjekt

Controller Brukerstøttedatabase Ottar Holstad/Cantor 09.

>>12 Arbeide med MySQL

Introduksjon til fagfeltet

1. Introduksjon til Oracle Express Edition

Metaspråket for å beskrive grammatikk

Utvikling fra kjernen og ut

SPSS Høgskolen i Innlandet

Feilsøking i BO. Olav Syse, konsulent. Jan Terje Hansen, service manager. Be business intelligent

INF130 Databehandling og analyse

Publisering av statiske og dynamiske websider til klasserom.net fra Dreamweaver og MySQL

MySQL-database, php. Innhold. 8 MySQL-database, php. 8.1 Databasen MySQL

Bachelor E. Theodor Rove Nordgård, Chris Sonko HIST DRIFT AV DATASYSTEMER

Demoversjon. Installasjon Uni Økonomi V3. - økonomisystemer fra start til børs

Bruke SQL fra Python. Med Psycopg2

OM DATABASER DATABASESYSTEMER

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

Scan Secure GTS PAS

1. Innføring i bruk av MySQL Query Browser

Videregående databasetemaer. Tom Heine Nätt

Utvikling fra kjernen og ut

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

Bergeland IKT. Elev guide

Vedlegg 1: Oversikt over noen mulige leverandører

SQL 3: Opprette tabeller, datainnsetting og utsnitt

Installasjonsveiledning PowerOffice SQL

[ Drupal ] [ Kontakt ] Notes. [ Grupper ] Notes. [ Litteratur ] Notes. Notes. [ en introduksjon ] Brendan Johan Lee.

6105 Windows Server og datanett

Flytte System 4 fra SQL 2000 til SQL 2005 / 2008

Om verktøyet. Installering av MySQL Migration Toolkit. Installer toolkitet. Brukerveiledning til Intelligent Converters MySQL Migration Toolkit

TAIME DATABASE INSTALLASJONSVEILEDNING

Bruk av Domenia Norges AS Webmail

Brukerveiledning for ArkN4

Enbruker-installasjon

Kontakt oss i Egroup for mer informasjon!

Oppgradering/installasjon av nye versjoner av ISY Park

Før du starter, del 2

1 Guide til flerbrukerinstallasjon av e-lector

Intentor Helpdesk - Installasjon Step #4: Database

Databaseadministrasjon

Installasjonsveiledning Future

Huldt & Lillevik Lønn 5.0. Installere systemet

P L A N I A 8 S Y S T E M K R A V PLANIA 8 SYSTEM KRAV. Plania 8 Systemkrav.docx av 8

Installasjonsveiledning Future

Hurtigstart guide. Searchdaimon ES (Enterprise Server)

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

EKSAMEN DATABASER

Intentor Helpdesk - Installasjon Step #3: Microsoft Reporting Services

Brukerveiledning for Admin i FEBDOK versjon 6.0

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt:

Brukerveiledning For Installasjon Av PCKasse. v1.01

Innhold. Installasjon av SQL server 2012/ Installasjon og konfigurasjon... 2 Port-konfigurasjon... 14

Velkommen til Pressis.

Lønn 5.0. Veiledning for ASP leverandører

Arne Maus, Ifi. delvis lån av gamle foiler

Temaer til terminalserverinstallasjon

Trådløssamling NORDUnet Stockholm Tom Ivar Myren

4.1. Kravspesifikasjon

Installasjon Huldt & Lillevik Lønn. Innhold

Norsk Data Senter AS Oppgradering av Intentor Helpdesk

BRUKERMANUAL. Telsys Online Backup

SuperOffice hurtigstart guide

Opus Dental 7.1 Oppdateringsveiledning

Installasjon enbruker

Å lage Noark 4 uttrekk selv. Thomas Sødring thomas.sodring@jbi.hio.no /

2. Beskrivelse av installasjon av SQL Server 2005 og hvordan lage databasen som trengs av administrasjonsprogrammet:

Konfigurasjon av nettverksløsning for Eldata 8.0 basert på PostgreSQL databasesystem.

EKSAMEN 6102 / 6102N DATABASER

Transkript:

Ulike DBMSer Mest kjente: Oracle PostGreSQL* MySQL* SQLServer* DB2 SQLite Access (DBMS og utv. verktøy i ett) osv *Skal benyttes i kurset. Tom Heine Nätt / Edgar Bostrøm

Hva er likt for disse (De fleste vel og merke) SQL Relasjonsdatabaser Tjenester Backup Adgangskontroll Logging Osv

Hva skiller DBMSer Pris (Åpen kildekode) Hastighet Kapasitet Distribuerte systemer Sikkerhet Tilleggsfunksjonalitet Verktøy Hvordan man gjør ting (spesielt som administrator) Supportavtaler

God oversikt over noen forskjeller http://troels.arvin.dk/db/rdbms/

Kort intro til MySQL/SQLServer og litt om andre systemer

MySQL Gratis Svenskprodusert (vel i starten) Mange plattformer Fokuserer (fokuserte) på hurtighet fremfor andre ting Før hadde den ikke engang PK/FK Så godt som standard med PHP Basert på tekstlig brukergrensesnitt Men har grafiske grensesnitt som tillegg Klienten startes med: mysql u <brukernavn> [ h <maskinnavn>] -p

MySQL Spesialiteter SHOW SHOW DATABASES SHOW TABLES [FROM <databasenavn>] SHOW COLUMNS FROM <tabellnavn> Eller: DESCRIBE <tabellnavn> SHOW CREATE TABLE <tabellnavn> Mange ulike typer tabeller (tabellmotorer) MyISAM, InnoDB,MEMORY, BLACKHOLE, EXAMPLE, ARCHIVE, CSV Kommer vi tilbake til \? og HELP kommandoen HELP <kommando> Ulike kommandolinjeverktøy \G til slutt i en select

MySQL artighet Parameteret --i-am-a-dummy UPDATE/DELETE må ha en WHERE (eller slå av «safe update») SELECT fra en tabell: max 1000 SELECT fra flere tabeller: max 1000000

MS SQLServer Opprinnelig DBMS et Sybase, Microsoft kjøpte rettighet til bruk og videreutvikling av sin variant. Sybase eksisterer fremdeles. Microsoft-ting Følger dårlig standarder Tendens til å være litt overdimensjonert Baserer seg på grafisk og brukervennlig grensesnitt Finnes i både kostbar og gratisversjon Så godt som standard i alle.net applikasjoner Veldig god XML-støtte Inneholder masse greier Analysis service Report generator Ligger på donau.hiof.no\cd_image --? Rotbrukeren heter sa (systemadministrator)

PostgeSQL Videreutvikling av Ingres Utviklet ved University of California at Berkeley (UCB). Open Source God på OO-utvidelser Triggere kan skrives i vilkårlig språk

Oracle Verdens mest brukte DBMS «Tungt», men finnes i mange varianter Commitment til «alle» operativsystemer Godt utbygd ORDBMS-del, men brukes lite Oracle Inc. har tatt over Sun, OpenOffice, mysql Men: hva har skjedd etterpå? Mye tilleggssoftware, f.eks. Financials, Prosjektstyring, se f.eks. http://www.oracle.com/no/index.html.

Databaseadministrasjon NB! Alt heretter om DB-admin vises i MYSQL, om ikke annet er sagt. (men det meste fungerer i andre systemer også)

Installasjon av DBMS Ikke helt rett frem Vær klar over: 2 hoved-komponenter: Server og klient Opptil flere services(tjenester) Velge servicename Systemkontoer (tjenestene skal kjøre som) Passord rotbruker Porter ( benytt standard) Mye tekniske spørsmål Se manualen/nettet Tegnsett Arkitektur/Struktur Husk å installere klient/tjener (ofte valg i installasjonen) Lisenser En maskin/mange maskiner osv Prosseseringskraft/ytelse Bruksområde There is never enough time to do it right, but always enough time to do it twice.

Typisk arkitektur Kan evt. referere til objekter i andre skjemaer, men må da prefikses,.-notasjon.

Prosjektservere i kurset: virtuelle maskiner 158.39.163.151-164 for maskinene db-1 til db-15 Velg deres maskin ut i fra gruppenummer som dere får på kurssiden etter å ha registrert dere Passord er blankt. Husk å endre Brukernavn Administrator Benytt Remote Desktop

Roller i et DB-System Data Administrator (DA) - Ansvar for dataene (på et teoretisk nivå) Database Administrator (DBA) - Ansvar for å holde databasen gående ( på et fysisk nivå) Database Designers Application Developers End-Users

Databaseadministrasjon Flere jobber: Opprette DB Opprette brukere Sette rettigheter Sette indekser Osv. Inneholder også databasedrifting Backup Logging Osv.

Opprette DB CREATE DATABASE <databasenavn> CREATE DATABASE <databasenavn> CHARACTER SET 'utf8' DROP DATABASE <databasenavn>

Brukere/rettigheter

Brukeradministrasjon 2 aspekter! Hvem skal få koble til og hvordan? Autentisering Hva skal de få gjøre? Privilegier/Accesskontroll

Opprette/Fjerne Brukere Tenk gjennom hvile brukere vi trenger Kommer tilbake til dette Litt spesielt: En bruker identifiseres med brukernavn og host F.eks tomhnatt@localhost tomhnatt@158.36.132.145 tomhnatt@ % tomhnatt@ %.hiof.no SQLServer (mf.) har også andre Authentication Modes Windows Login / Active directory, Kerberos osv. Unngå root-brukeren! Lag admin til hver DB Kun lokal!

Klient /Server Klient Klient Server tomhnatt@localhost (drossap) tomhnatt (drossap/abc) tomhnatt@ % (abc) tomhnatt@ 158.% (abc)

Eksempler på brukere Fra MySQL manualen:

Opprette/fjerne brukere CREATE USER <bruker>@<host> [IDENTIFIED BY <passord> ] DROP USER <bruker>@<host>

Endre passord SET PASSWORD [FOR <user>@<host>] = PASSWORD( <nytt passord> ) Passord er som oftest lagret som en Hash! Husk FLUSH PRIVILEGES

Rettigheter Vi kan styre rettigheter på Bruker Mye ekstra ( antall spørringer i timen etc) DB (/ Host) Tabell Kolonne

Rettigheter GRANT <rettighet>[(<kolonner>)] ON {<tabell> <db>.<tabell> <db>.* *.*} TO <user>@<host> [IDENTIFIED BY <passord>] Rettigheter: ALL,SELECT, INSERT, UPDATE, DELETE, DROP osv http://dev.mysql.com/doc/refman/5.0/en/grant.html I MySQL kan man opprette brukeren direkte med GRANT Uten rettigheter med GRANT USAGE Husk FLUSH PRIVILEGES

Rettighetssjekk Sjekkes i rekkefølgen user, db/host, tables, columns Kan uttrykkes som : global privileges OR (database privileges AND host privileges) OR table privileges OR column privileges NB! Det er alltid høyeste nivå som teller Eks: Vi har tilgang til INSERT i databasen, og da vil vi også automatisk få INSERT på alle nye (i tillegg til eksisterende) tabeller/kolonner i databasen!!!

Rettigheter SHOW GRANTS [FOR <user>@<host>] REVOKE <rettighet>[(<kolonner>)] ON {<tabell> <db>.<tabell> <db>.* *.*} FROM <user>@<host>

Ressursrettigheter Rettigheter sier ikke bare noe om hva man får gjøre, men også ressursbruk. GRANT ALL ON customer.* TO thn'@'localhost' IDENTIFIED BY passord' WITH MAX_QUERIES_PER_HOUR 20 MAX_UPDATES_PER_HOUR 10 MAX_CONNECTIONS_PER_HOUR 5; Fjern en limit ved å sette den til 0 ( ubegrenset)

GRANTE videre Legg til WITH GRANT OPTION GRANT USAGE ON test.test TO testbruker @ % WITH GRANT OPTION; REVOKE vil som oftest fungere cascading når det gjelder GRANT OPTION

Tilkobling Legg til REQUIRE og en eller flere (skilt med AND) av følgende på GRANT SSL X509 CHIPER <string> ISSUER <string> SUBJECT <string> GRANT SELECT ON test.test TO testbruker @ % REQUIRE SSL;

Mer avanserte rettigheter (Constraints) Views (Triggere) Prosedyrer Mellomvare

Rettigheter og Views Ofte vanskelig å sette avanserte rettigheter Spesielt basert på rader osv.. Løsning: view Lønning for alle andre enn deg selv Kun første del av personnummer Alder rundet av til nærmeste 10 er Funker som på tabeller En fare : Brukere kan ha lagd seg egne view før tilgang til tabell blir sperret Dette varier fra DBMS til DBMS

Rettigheter i SQLServer Mer avansert brukersystem Kan koble brukere mot Systembrukere Kan jobbe med roller CREATE ROLL Brukere får en rolle

Fordeler og ulemper med Roller Fordeler Lett å administrere store grupper Ett sted å sjekke for feil Ferdige roller definert Ulemper Lett at mange brukere får for mye rettigheter latskap bruker eksisterende rolle Ofte kompliserende Roller kan arve fra andre roller osv. Standard roller kan la seg utnytte

Tips til brukere og rettigheter Kun rotbruker har tilgang til systemtabeller og kun via localhost Minst mulig rettigheter Gi _aldri_ rettigheter til alle hoster Vær ekstremt nøye med passordregimer (spes. på rotbrukere) Ikke plain-text passord Alle kontoer må ha passord! Rydd ofte i gamle kontoer Første skanse er innlogging, dernest rettigheter! Gi brukere rettigheter på tabellnivå ikke db eller bruker Ingen må vite andres passord.. Ei heller DBA La brukeradminsitrasjon kun foregå på localhost Lag en bruker for hver jobb! Alternativt navn på admin? Begrense antall admins?

Hvilke brukere/rettigheter trenger man? Forslag til fremgangsmåte: 1. Hierarki av admins Hvor mange skal man ha? 2. Identifiser ulike typer oppgaver i db 3. Grupper disse sammen i logiske brukere (f.eks ansatt, student, webgrensensitt) 3.b Sett rettigheter på logiske brukere (standardrettigheter) 4. Hvilke fysiske brukere trenger man 4.b Finn avvik fra standardrettighetene

Oversikt over brukere/privilegier Kan være kjekt å lage en matrise (for hver DB): Lønnstabell Stemplingsur thn@localhost SELECT, VIEW, UPDATE ALL sjefen@localho st ALL DROP

Oversikt over brukere/privilegier Vi kan også lage en avviksmatrise fra standardrettighetene Standard thn@localhost olsen@localhost Lønnstabell SELECT, INSERT +UPDATE - INSERT -SELECT -INSERT Stemplingsur ALL - DROP - DELETE

Dagens nøtt: Er det mulig å bruke SQL til å lage en sorteringsrekkefølge? Eksempel: tab plass innhold Thorsen Andersen Olsen SQL tab plass innhold 3 Thorsen 1 Andersen 2 Olsen Ja, det er mulig (lag i tilfelle SQL-setningen(e)) Nei, det er umulig, fordi.. Tillegg: spiller det noen rolle om man krever at like skal ha lik plassering (f.eks. at alle Olsen skal ha lik plassering), eller om alle skal ha et unikt nr?