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

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

Tietokantakurssit / TKTL

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

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

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

Tietokanta (database)

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

HELIA 1 (17) Outi Virkki Tiedonhallinta

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

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä

HELIA 1 (15) Outi Virkki Tiedonhallinta

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

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

Tiedonhallintajärjestelmän rakenne ja Suorituskyky

Tietohakemisto ja Transaktionkäsittely

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

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Näkökulmat tietoon. Abstraktiotasot tiedon käsittelyssä

Helsingin yliopisto/tktl Tietokantojen perusteet, k 2003 Relaatiomallin peruskäsitteet Harri Laine 1. Tietomallit. Näkökulmat tietoon

millainen on se kohde, jota tiedoilla pitäisi kuvata asiat, joita pitäisi esittää Mitä tietoelementtien arvot tarkoittavat

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1.

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

FYYSINEN SUUNNITTELU

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

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

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki Relaatiomalli

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

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

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

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

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokantojen suunnittelu, relaatiokantojen perusteita

Luento 3 Tietokannan tietosisällön suunnittelu

Relaatiomalli ja -tietokanta

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki

Tutkimustiedonhallinnan peruskurssi

Tietokannan suunnittelu

CS-A1150 Tietokannat

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

CSE-A1200 Tietokannat

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

SQL-kielen perusteet. Tietokantojen perusteet

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

2. Käsiteanalyysi ja relaatiomalli

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

CSE-A1200 Tietokannat

FYYSINEN SUUNNITTELU

Fyysinen suunnittelu

CS-A1150 Tietokannat

Looginen tietokanta ja transaktiot

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

Tutkimustiedonhallinnan peruskurssi

HELIA 1 (11) Outi Virkki Tiedonhallinta

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

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

CS-A1150 Tietokannat

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

Tietokannanhallintajärjestelmä (DBMS)

Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1

HELIA 1 (14) Outi Virkki Tiedonhallinta

Kari Aalto Saariston IT

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39

Kyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI ( )

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Relaatioalgebra. Kyselyt:

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

Yhdiste, leikkaus, erotus ym.

Tiedostorakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Tietokannan rakenteen suunnittelu

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

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

SELECT-lauseen perusmuoto

HELIA 1 (14) Outi Virkki Tiedonhallinta

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

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

TIETOKANNAT JOHDANTO

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

HELIA 1 (12) Outi Virkki Tiedonhallinta

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

CSE-A1200 Tietokannat

HELIA 1 (20) Outi Virkki Tiedonhallinta

IHTE-1900 Seittiviestintä

IHTE-1900 Seittiviestintä

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

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

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

D B. Tietokannan hallinta kertaus

TIETOKANNANHOITAJA DBA (DATABASE ADMINISTRATOR) JA TIETOKANNAN HALLINTA

Paikkatiedon käsittely 2. Relaatiomallin paikkatietolaajennokset

Transkriptio:

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

Tietokannan hallinta 1. Johdanto (käsitteitä) 2. Tietokannan talletusrakenteet 3. Tietokannan hakemistorakenteet 4. Kyselyiden käsittely ja optimointi 5. Tapahtumien hallinta Tietokannan hallinta, kevät 2004, Jan 2

Abstraktiotasot tietoon KÄSITETASO Sisältö ja merkitys ER malli, oliomallit RAKENNETASO Looginen rakenne relaatiomalli, oliomallit FYYSINEN TASO Tekninen rakenne Tietokannan hallinta, kevät 2004, Jan 3

Rakennetaso KÄSITETASO Rakennetasolla näkyvä data on näkymä fyysisellä tasolla tallennettuun dataan RAKENNETASO FYYSINEN TASO Tietokannanhallintajärjestelmän hallinnassa Tietokannan hallinta, kevät 2004, Jan 4

Fyysinen taso KÄSITETASO Tietokannan fyysinen taso voidaan edelleen jakaa useisiin abstraktiotasoihin RAKENNETASO tiedostorakennetaso FYYSINEN TASO Tietokannanhallintajärjestelmän hallinnassa puskuritaso levynhallintataso Tietokannan hallinta, kevät 2004, Jan 5

Käsitteitä Looginen tietokanta (logical database) on loogisen tietokantamallin mukainen kokoelma tietoalkioita. Looginen tietokanta on kokoelma relaatioita (relation) eli tauluja (table), jotka ovat monikoiden (tuple) eli rivien (row) monijoukkoja. Monijoukko (multiset) on järjestämätön joukko, jossa alkio voi esiintyä useita kertoja. Tietokannan hallinta, kevät 2004, Jan 6

Relaatiot Relaation monikot ovat kaikki saman kaavion mukaisia eli samantyyppisiä. Relaatiokaavio (relation schema) R(X) sisältää kaavion nimen R, attribuuttien nimi ja tyyppimääritykset X kaavioon asetettuine rajoitteineen (avain ja viite eheys ym. rajoitteet). Tietokannan hallinta, kevät 2004, Jan 7

Tietokannan hallintajärjestelmä jäsentäjä kustannuslaskenta kyselyn käsittelijä optimoija suorittaja toipumishallinta pääsynvalvonta transaktioiden hallinta tiedostorakenteet puskurien hallinta lukkojen hallinta rinnakkaisuuden hallinta levyjen hallinta Tietokannan hallinta, kevät 2004, Jan 8

Komponentteja 1/2 Jäsentäjä (parser) purkaa SQL kyselyn rakennetason käsittelyoperaatioiksi (vrt. relaatioalgebra) Kustannuslaskenta (operation evaluation) tuottaa arvioita operaatioiden kustannuksista Optimoija (optimizer) laatii kyselylle toteutussuunnitelman (plan) Suorittaja (plan executor) toteuttaa kyselyn suunnitelman mukaisesti Tietokannan hallinta, kevät 2004, Jan 9

Komponentteja 2/2 Oikeuksien hallinta (authorization) varmistaa käyttäjän oikeudet operaatioihin. Transaktioiden hallinta (transaction manager) ja lukkojen hallinta (lock manager) huolehtivat tietokannan rinnakkaiseen käyttöön ja peruutuksiin liittyvistä ongelmista. Toipumisen hallinta (recovery manager) huolehtii häiriötilanteisiin varautumisesta, varmistuksista ja elvytyksestä. Tietokannan hallinta, kevät 2004, Jan 10

Data metadata Tietokantaan tallennettu tieto jakautuu varsinaiseen dataan metadataan = varsinaista dataa ja sen käsittelyä kuvaavaa dataa kaikki tietokantaan liittyvä kuvaustieto tallennetaan erityiseen metatietokantaan tietohakemistoon (data dictionary, catalog) relaatiotietokantojen tapauksessa metatietokanta on myös rakenteeltaan relaatiotietokanta ja siihen voi kohdistaa kyselyjä kuten tavalliseen tietokantaan. Tietokannan hallinta, kevät 2004, Jan 11

Metadata Relaatiotietokannan tietohakemiston rakenne on määritelty tietohakemistonäkyminä SQL 92 standardissa. Kuitenkin esimerkiksi Oracle käyttää yhä omia taulurakenteitaan. Oracle tietohakemistossa user_ alkuiset taulut kuvaavat lähinnä käyttäjän omistamia rakenteita, esimerkiksi user_tables kuvaa käyttäjän taulut (lyhenne tabs) user_tab_columns käyttäjän taulujen sarakkeet user_views käyttäjän määrittelemät näkymät all_ alkuiset taulut kuvaavat kohteita, joihin käyttäjällä on pääsy dba_ alkuiset taulut sisältävät tiedot kaikista tietokannan kohteista. Näihin tauluihin on pääsy vain tietokannan hoitajilla (DBA, database administrator) Tietokannan hallinta, kevät 2004, Jan 12

Esimerkki metadatatasta SQL> desc ALL_TABLES Name Null? Type OWNER NOT NULL VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30) // tilan hallintaan liittyvää tietoa TABLESPACE_NAME VARCHAR2(30) CLUSTER_NAME VARCHAR2(30) IOT_NAME VARCHAR2(30) PCT_FREE PCT_USED // tapahtumien hallintatietoa INI_TRANS MAX_TRANS Tietokannan hallinta, kevät 2004, Jan 13

Esimerkki metadatatasta // jälleen tilanhallintaa INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS // elvytystietoa LOGGING BACKED_UP VARCHAR2(3) VARCHAR2(1) Tietokannan hallinta, kevät 2004, Jan 14

Esimerkki metadatatasta SQL> desc all_tab_columns Name Null? Type OWNER NOT NULL VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30) COLUMN_NAME NOT NULL VARCHAR2(30) DATA_TYPE VARCHAR2(30) DATA_TYPE_MOD VARCHAR2(3) DATA_TYPE_OWNER VARCHAR2(30) DATA_LENGTH NOT NULL DATA_PRECISION DATA_SCALE NULLABLE VARCHAR2(1) COLUMN_ID NOT NULL Tietokannan hallinta, kevät 2004, Jan 15

Metadatan käytöstä Metadataa tarvitaan monessa eri yhteydessä jäsentäjä tarvitsee tietoja taulujen ja sarakkeiden nimistä ja tietotyypeistä kustannuslaskenta tarvitsee tietoja esim. taulun rivien lukumäärästä, sarakkeiden arvojen jakautumisesta, taulun sijoittelusta tiedostoihin, hakemistojen olemassaolosta, jne pääsynvalvonta tarvitsee tietoja käyttäjistä ja heidän oikeuksistaan transaktion hallinta tarvitsee dynaamista tietoa istunnoista ja operaatioista lukkojen hallinta tarvitsee tietoja tapahtumien suorittamista operaatioista samoin toipumisen hallinta. Tietokannan hallinta, kevät 2004, Jan 16