Tietokantakurssit / TKTL

Samankaltaiset tiedostot
Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

PostgreSQL:n ja JDBC-ajurin asennus- ja käyttöohje

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta

Tietokanta (database)

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 SQL:n perusteet. Harri Laine 1. SQL tietokantakieli. SQL tietokantakieli

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

CSE-A1200 Tietokannat

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-kielen perusteet. Tietokantojen perusteet

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos

Tietokantojen suunnittelu, relaatiokantojen perusteita

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

SQL - STRUCTURED QUERY LANGUAGE

HELIA 1 (15) Outi Virkki Tiedonhallinta

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

HELIA 1 (12) Outi Virkki Tiedonhallinta

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

2. Käsiteanalyysi ja relaatiomalli

Lohdutus - tietokantadokumentti

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietohakemisto ja Transaktionkäsittely

Tietokantojen perusteet, s 1999 SQL- osa Harri Laine 1. SQL -ohjelmistojen markkinaosuuksia SQL. SQL - historiaa. SQL - standardointi

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (17) Outi Virkki Tiedonhallinta

3. Taulujen määrittely ja muuttaminen

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

3. Tietokannan hakemistorakenteet

3. Tietokannan hakemistorakenteet

Tiedonhallintajärjestelmän rakenne ja Suorituskyky

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Tietokannat II -kurssin harjoitustyö

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]

4. Kyselyjen käsittely ja optimointi

Mikä on tietomalli? Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatiomallin taustaa

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Opintopiiritehtävä 3: Verkkohuutokauppa

4.3.1 SQL tietokanta SQL:n kirjoitusasu SQL määrittelykielenä... 36

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Treenitietokannan suunnitteludokumentti

TIETOKANNAT JOHDANTO

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

HAAGA-HELIA TIKO - Heti09 1 (22) ICT05 Tiedonhallinta ja Tietokannat E.Räty, O.Virkki, M.Laiho

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki

Kari Aalto Saariston IT

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto.

ALMU-järjestelmä Suunnitteludokumentti

TIETOKANNAN SUUNNITTELU

HELIA 1 (20) Outi Virkki Tiedonhallinta

On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, )

Relaatiomalli ja -tietokanta

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto. Opettajien nimet: Opiskelijoiden pääaineet

MYSQL-TIETOKANNAN JA OBJEKTIEN LUOMINEN JA HALLINTA ERI MYSQL- TYÖKALUILLA JOUNI HUOTARI

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

HAAGA-HELIA Heti-09 1 (17) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Suorituskyky

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

1 YLEISTÄ (KS) SQL-TRAINER - KUVAUS NYKYISESTÄ JÄRJESTELMÄSTÄ (HL,KS) JATKOKEHITYKSEN VAATIMUKSET (HL,KS)...7

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito

Tietokanta projektin alussa: create table kurssin_tila ( NOT NULL VARCHAR2(60) create table kurssin_tyyppi ( create table opintojakson_tyyppi (

Transkriptio:

Tietokantakurssit / TKTL Tietokantojen perusteet - tietokannan käyttö: SQL, sovellukset Tietokannan hallinta - tietokannanhallintajärjestelmän ominaisuuksia: tallennusrakenteet kyselyjen toteutus tapahtumien (transaktioiden) hallinta Laudatur: Tietokannan mallinnus - tietokannan suunnittelu, käsittelyä (kalkyylit) Tietokantarakenteet ja algoritmit -syventää transaktioiden hallintaa ym. Erikoiskursseja: tietovarastot, paikkatietojärjestelmät Tietokannan hallinta, kl.2002 H. Erkiö 1 1. Johdanto Tietokanta (database) = loogisesti yhtenäinen kokoelma toisiinsa liittyviä tietoja - fyysisellä tasolla: useita tiedostoja (tauluja) tietojen määrä voi olla suuri - tietyssä mielessä pysyvä (ohjelmaan verrattuna): monen sovelluksen käytössä, jopa samanaikaisesti - sovelluksista erillinen: suunnitellaan erikseen ohjelmien ja tietojen riippumattomuus - tietojen väliset loogiset yhteydet, rajoitteet; rajoitteiden voimassaolon valvonta - tieto tallessa vain kertaalleen (yleensä) Tietokannan hallinta, kl.2002 H. Erkiö 2 1

Tietokannan ominaisuuksia, (jatkoa) - monipuolinen tiedonhaku (kyselyllä) normaalia ja helppoa ( korkean tason ohjelmointia ) - tietojen käytön säätely: kontrolloitu samanaikainen käyttö, suojaus - eri käyttäjiä varten erilaisia näkemyksiä (view) - automaattinen varmistus ja elpyminen häiriöistä - tietokanta(järjestelmä) sisältää datan lisäksi - kuvaustietoa (metadataa, tietohakemisto) - hallintatietoa: hakemistoja, lukitustietoja ym. Tietokannan hallinta, kl.2002 H. Erkiö 3 Esim. yrityksen henkilöstötietokanta EMPLOYEE(ssn, name, bdate, address, salary, superssn, dno) DEPARTMENT(dname, dnumber, mgrssn) PROJECT(pname, pnumber, plocation, dnum) WORKS_ON(essn, pno, hours) DEPT_LOCATIONS(dnumber, dlocation) DEPENDENT(essn, dep_name, relationship) (vrt. E&N, s. 204-205) Tietokannan hallinta, kl.2002 H. Erkiö 4 2

Tietokannan määrittely on tietokannan kaavio (schema): ilmaisee, kuinka tietokannan kohteen ( miniworld ) tiedot voidaan jäsennellä. relaatiot: attribuutit (ominaisuudet) relaatioiden väliset suhteet (esim. viite-eheys) - erilaisia kaavioita: tietokannan mallinnus loogisesti hyvä/huono tietokanta... (toisen kurssin asiaa) Tietokannan hallinta, kl.2002 H. Erkiö 5 Kertaa Tietokantojen perusteet kurssin alkuosasta: - johdanto - relaatio (avain, viiteavain: 4.1) - SQL (luku 5; HETI vähintään perusteet) Tietokannan hallinta, kl.2002 H. Erkiö 6 3

Henkilöstötietokannan määrittely SQL:llä create table employee (ssn char(9) not null, name varchar(30) not null, bdate date, address varchar(30), salary decimal(10,2), superssn char(9), dno int not null, primary key (ssn), foreign key (superssn) references employee(ssn), foreign key (dno) references department(dnumber) ); Tietokannan hallinta, kl.2002 H. Erkiö 7 Henkilöstötietokannan määrittely SQL:llä - 2 create table department (dname varchar(15) not null, dnumber int not null, mgrssn char(9) not null, primary key (dnumber), unique (dname), foreign key (mgrssn) references employee(ssn) ); create table project (pname varchar(15) not null, pnumber int not null, plocation varchar(15), dnum int not null, primary key (pnumber), unique (pname), foreign key (dnum) references department(dnumber) ); Tietokannan hallinta, kl.2002 H. Erkiö 8 4

Henkilöstötietokannan määrittely SQL:llä - 3 create table works_on (essn char(9) not null, pno int not null, hours decimal(3,1), primary key (essn, pno), foreign key (essn) references employee(ssn), foreign key (pno) references project(pnumber) ); create table dept_locations (dnumber int not null, dlocation varchar(15) not null, primary key (dnumber, dlocation), foreign key (dnumber) references department(dnumber) ); Tietokannan hallinta, kl.2002 H. Erkiö 9 Henkilöstötietokannan määrittely SQL:llä - 4 create table dependent (essn char(9) not null, dep_name varchar(15) not null, relationship varchar(8), primary key (essn, dep_name), foreign key (essn) references employee(ssn) ); Hieman laajempana: E&N, s. 204-205 - myös tietokannan sisältö ( tietokannan tila ) Tietokannan hallinta, kl.2002 H. Erkiö 10 5

Tietokannanhallintajärjestelmä Tietokannanhallintajärjestelmä (tkhj, dbms) = ohjelmisto, jonka avulla luodaan, ylöäpåidetään ja käytetään tietokantoja. Tietokannanhallintajärjestelmän osat: - tietohakemistojärjestelmä - tietokantamoottori - kääntäjiä /liittymiä: tiedonmäärittelykielelle kyselyille sovellusohjelmien käyttämille tietokantakielille (ohjelmointirajapinnoille) Tietokannan hallinta, kl.2002 H. Erkiö 11 Tietokannanhallintajärjestelmä - 2 tietokannan hoitaja peruskäyttäjät sovellusohjelmoijat hallintaliittymä tietokantamoottori tietohakemistojärjestelmä suorakäyttöliittymä sovellusohjelmat ohjelmointirajapinnat tietokanta Tietokannan hallinta, kl.2002 H. Erkiö 12 6

Tietokannanhallintajärjestelmä - 3 Tietokantamoottori - pääsyn valvonta (saantioikeudet) - kyselyn optimoija - tapahtuman hallinta (samanaikaiset käyttäjät, elvytys) - eheyden valvonta (tietokannan osien yhteydet, oikeellisuus) - puskurien hallinta ja saantimenetelmät (yhteys keskusmuistiin: siirto-operaatiot) - ajonaikainen tk-prosessori toteuttaa kyselyt ja hoitaa toimintaan liittyvän kontrollin Tietokannan hallinta, kl.2002 H. Erkiö 13 Tietokantajärjestelmän arkkitehtuuri Perinteinen kolmitasoarkkitehtuuri: ulkoinen taso: käyttäjänäkymät, sovellusohjelmat käsitetaso: tietokannan looginen kaavio (yleinen rakenne, kaikille ) sisäinen taso: tietokannan säilytyskaavio (tiedostorakenteet, saantipolut) Käyttöjärjestelmän kannalta eri vaihtoehtoja: - henkilökohtainen järjestelmä - keskuskonemalli - tiedostopalvelinmalli - asiakas-palvelin-malli - monitasomalli (asiakas, välitaso, palvelin) - hajautetut järjestelmät Tietokannan hallinta, kl.2002 H. Erkiö 14 7

Tietohakemistojärjestelmä Tietohakemisto sisältää tietokannan kuvaustiedot (metatietoa) = tietokantakaavio kaikkine yksityiskohtineen - kuvaustiedot yleensä relaatioina, voidaan käyttää varsinaisten tietojen tavoin Esimerkkejä Oraclen kaaviotauluista: USER_CATALOG käyttäjän omat objektit (taulut, näkymät ym.) USER_VIEWS käyttäjän näkymät USER_TAB_COLUMNS käyttäjän taulujen ja näkymien sarakkeet ALL_CATALOG kaikki objektit, joihin käyttäjällä on pääsy ALL_TABLES, ALL_VIEWS jne DBA_ALL_TABLES, DBA_EXTENTS jne tietokannanhoitajan tauluja Tietokannan hallinta, kl.2002 H. Erkiö 15 Tietohakemistojärjestelmä - 2 Esimerkkejä. select * from user_catalog; TABLE_NAME TABLE_TYPE ------------------------------------------------------------------------------------------------------------------------------------------------------------ DEPARTMENT EMPLOYEE... select column_name, data_type from user_tab_columns where table_name = EMPLOYEE; TABLE TABLE Tietokannan hallinta, kl.2002 H. Erkiö 16 8

Tietohakemistojärjestelmä - 3 COLUMN_NAME DATA_TYPE -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SSN NAME BDATE ADDRESS SALARY SUPERSSN DNO desc employee; CHAR VARCHAR2 DATE VARCHAR2 NUMBER CHAR NUMBER NAME NULL? TYPE --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SSN NOT NULL CHAR(9) NAME NOT NULL VARCHAR2(30) BDATE DATE jne Tietokannan hallinta, kl.2002 H. Erkiö 17 Tietohakemistojärjestelmä - 4 select * from user_views where view_name = 'ADM_EMPLOYEE_SAL'; VIEW_NAME TEXT_LENGTH TEXT --------------------------------- ------------------------ ---------------------------------------- ADM_EMPLOYEE_SAL 102 select lname, salary from employee, department where dno = dnumber and dname = 'Administration' SQL> select * from adm_employee_sal; NAME SAL --------------- ---------- Zelaya 25000 Wallace 43000 Jabbar 25000 Tietokannan hallinta, kl.2002 H. Erkiö 18 9