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

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

Tietokantakurssit / TKTL

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

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

Tietokanta (database)

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

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

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

Tietohakemisto ja Transaktionkäsittely

HELIA 1 (15) Outi Virkki Tiedonhallinta

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

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

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

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Tiedonhallintajärjestelmän rakenne ja Suorituskyky

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

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

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

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

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU

HELIA 1 (11) Outi Virkki Tiedonhallinta

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

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

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

Fyysinen suunnittelu

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

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

HELIA 1 (11) Outi Virkki Tiedonhallinta

TIETOKANNANHOITAJA DBA (DATABASE ADMINISTRATOR) JA TIETOKANNAN HALLINTA

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

D B. Tietokannan hallinta kertaus

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

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

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

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

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

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

TIETOKANNAT JOHDANTO

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

A TIETOKANNAT, 4 op Kevät TI09

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

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

SQL - STRUCTURED QUERY LANGUAGE

2. Käsiteanalyysi ja relaatiomalli

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

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

SELECT-lauseen perusmuoto

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

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

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

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

Näkymät ja tiedon suojaus

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

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

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

TIETOKANTOJEN PERUSTEET MARKKU SUNI

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

CSE-A1200 Tietokannat

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

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

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

Tietokannanhallintajärjestelmä (DBMS)

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

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

MySQL ja PostgreSQL Seminaarityö

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

Tietokantojen perusteet

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

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

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

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

CS-A1150 Tietokannat

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

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

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Oracle-tietokanta. Riku Nykänen 1/2010

D B. Kyselypuut ja ekvivalenssi

CSE-A1200 Tietokannat

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

CS-A1150 Tietokannat

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

SQL-kielen perusteet. Tietokantojen perusteet

3. Taulujen määrittely ja muuttaminen

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

IHTE-1900 Seittiviestintä

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

Luento 3 Tietokannan tietosisällön suunnittelu

Transkriptio:

Tietokannan hallinta - kurssin tavoite Kurssilla opitaan periaatteet fyysisen tietokannan tallennuksesta ja käsittelystä tietokantakyselyiden muuntamisesta fyysisen tietokannan käsittelyoperaatioiksi kyselyn kustannusten arvioinnista tietokantatransaktioista ja tietokannan samanaikaisesta käytöstä varmistuksesta ja elvytyksestä Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta 1

Abstraktiotasot tietoon KÄSITETASO Sisältö ja merkitys ER-malli, oliomallit RAKENNETASO Looginen rakenne relaatiomalli, oliomallit FYYSINEN TASO Tekninen rakenne 2

Abstraktiotasot tietoon KÄSITETASO Rakennetasolla näkyvä data on näkymä fyysisellä tasolla tallennettuun dataan RAKENNETASO FYYSINEN TASO Tietokannanhallintajärjestelmän hallinnassa 3

Abstraktiotasot tietoon KÄSITETASO Tietokannan fyysinen taso voidaan edelleen jakaa useisiin abstraktiotasoihin RAKENNETASO tiedostorakennetaso FYYSINEN TASO puskuritaso Tietokannanhallintajärjestelmän hallinnassa levynhallintataso 4

Abstraktiotasot tietoon Tietokantojen perusteet kurssilla käsiteltiin relaatiotietokantoja rakennetasolla tietokanta muodostuu tauluista (table), joita käsitellään SQL:n kysely- (select) ja muokkausoperaatioilla (insert, delete, update) Siirryttäessä fyysiselle tasolle täytyy rakennetason operaatiot muuttaa fyysisen tason rakenteita hyväksikäyttäviksi operaatioiksi. 5

Tietokannan hallintajärjestelmän arkkitehtuurikomponentteja jäsentäjä kustannuslaskenta kyselyn käsittelijä optimoija suorittaja toipumishallinta pääsynvalvonta transaktioiden hallinta tiedostorakenteet puskurien hallinta lukkojen hallinta rinnakkaisuuden hallinta levyjen hallinta 6

Tietokannan hallintajärjestelmän arkkitehtuurikomponentteja 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 pääsynvalvonta (authorization) varmistaa käyttäjän oikeudet operaatioihin 7

Tietokannan hallintajärjestelmän arkkitehtuurikomponentteja 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ä 8

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. 9

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 kuvaa käyttäjän taulujen sarakkeet user_views kuvaa 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) 10

Metadatan käytöstä Käyttäjille tarkoitettujen taulujen lisäksi on tietokannan dynaamista käyttäytymista kuvaavia tauluja (Oraclessa V$-alkuisia) esim v$_open_cursors, joka kertoo käynnissä olevat kyselyt, käytön seurantaan liittyviä lokitauluja, jne. Useimpiin näistä on pääsy vain tietokannan hoitajalla ja TKHJ:n sisäisillä rutiineilla. 11

Esimerkki metadatasta 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 12

Esimerkki metadatasta // jälleen tilanhallintaa INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS // elvytystietoa LOGGING BACKED_UP VARCHAR2(3) VARCHAR2(1) 13

Esimerkki metadatasta //kustannuslaskentatietoa NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCES CACHE TABLE_LOCK SAMPLE_SIZE LAST_ANALYZED PARTITIONED IOT_TYPE TEMPORARY NESTED BUFFER_POOL VARCHAR2(10) VARCHAR2(10) VARCHAR2(5) VARCHAR2(8) DATE VARCHAR2(3) VARCHAR2(12) VARCHAR2(1) VARCHAR2(3) VARCHAR2(7) 14

Esimerkki metadatasta 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 15

Esimerkki metadatasta DEFAULT_LENGTH DATA_DEFAULT // kustannuslaskentatietoa NUM_DISTINCT LOW_VALUE HIGH_VALUE DENSITY NUM_NULLS NUM_BUCKETS LAST_ANALYZED SAMPLE_SIZE CHARACTER_SET_NAME CHAR_COL_DECL_LENGTH LONG RAW(32) RAW(32) DATE VARCHAR2(44) 16

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 17