Načrtovanje in postavitev podatkovnih baz ANDREJA ŠET
NAČRTOVANJE IN POSTAVITEV PODATKOVNIH BAZ Učbenik za srednje strokovno izobraževanje, tehnik računalništva Razvito po Katalogu znanja, modul načrtovanje in postavitev podatkovnih baz. Avtorica: prof. Andreja Šet, uni. dipl. ing. rač. in inf. Recenzenta: dr. Maja Pušnik, univ. dipl. inž. rač. in inf. in Uroš Sterle, prof. mat. Strokovni sodelavec pri razvoju učbenika: Marko Anžič, Preizkušeni revizor informacijskih sistemov, spec. za mgmt Jezikovni pregled: dr. Vesna Jurač Založila: i2 družba za založništvo, izobraževanje in raziskovanje d.o.o., Ljubljana Za založbo: Manja Hafner Verbič e-pošta: info@i2-lj.si; http://www.i2-lj.si Prelom: Studio VisArt, Ljubljana Fotografija na naslovnici: : [i3d] © 123RF.com Fotografije in ilustracije: [Aleksey Abramkin, Tatiana Alexandrov, amasterpics123, artist2009, Artisticco LLC, bannosuke, bluebay, cginspiration, Benoit Charton, Kirill Cherezov, dvarg, frender, hubis, Janos, Levente Janos, johan2011, Jumini Jumini, Andrei Krauchuk, Kirill Makarov, Anatoly Maslennikov, Andrii Mertsalov, Liu Ming, Claudia Mora, nasirkhan, nicolasmenijes, oxygen64, pratyaksa, rukanoga, Ivan Ryabokon, Yulia Ryabokon, sergwsq, Kittichai Songprakob, subarashii21, Nataliia Trofimova, vadymg, venimo] © 123RF.com Tisk: Grafika Soča d.o.o. Prva izdaja. Prvi natis. Natisnjeno v xxxxxx izvodih. Strokovni svet Republike Slovenije za splošno izobraževanje je s sklepom številka XXX-X/XXXX/XXX potrdil učbenik Načrtovanje in postavitev podatkovnih baz, učbenik za srednje strokovno izobraževanje, tehnik računalništva. Učbenik je sofinanciralo Ministrstvo za izobraževanje, znanost in šport, Center RS za poklicno izobraževanje. Brez pisnega soglasja založnika je prepovedano reproduciranje, javna priobčitev, predelava ali kakršna koli druga uporaba tega avtorskega dela ali njegovih delov v kakršnem koli obsegu ali v postopku, vključno s fotokopiranjem ali shranitvijo s pomočjo informacijske tehnologije. Tako ravnanje predstavlja kršitev avtorskih pravic. © i2 d.o.o., Ljubljana, 2017
CIP - Kataložni zapis o publikaciji
Narodna in univerzitetna knjižnica, Ljubljana
Načrtovanje in postavitev podatkovnih baz ANDREJA ŠET
Ljubljana, 2017
KAZALO UVOD V PODATKOVNE BAZE 1. POSLOVNI SISTEM 1.1
Informacijski podsistem
10
1.2
Izvajalni podsistem
11
1.3
Upravljalni podsistem
11
2. INFORMACIJSKI SISTEM
12
2.1
Osnovni gradniki IS
14
2.2
Življenjski cikel informacijskega sistema
15
2.2.1 2.2.2 2.2.3 2.2.4
16 16 20 20
Strateški načrt Razvoj sistema Vzdrževanje informacijskega sistema Zagotavljanje kakovosti informacijskega sistema
2.3
Informacijska arhitektura
21
2.4
Informacijska (IT) infrastruktura
22
2.5
Vrste IS
23
2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8
25 25 26 27 28 29 30 31
2.6
Transakcijski informacijski sistem Integrirani poslovni informacijski sistem Sistem za podporo delovnim procesom Sistem za avtomatizacijo pisarniškega poslovanja Ekspertni sistem Upravljavski informacijski sistem Sistem za podporo odločanju Direktorski informacijski sistem
Integracija IS
3. PODATKOVNE BAZE
31
35
3.1
Opredelitev PB po ANSI
36
3.2
Vloga podatkovne baze v organizaciji
37
3.3
Arhitektura PB In podatkovna neodvisnost
38
3.3.1 3.3.2
38 42
3.4
4
10
Trinivojska arhitektura PB Podatkovna neodvisnost
Prednosti in slabosti (SU)PB
44
4. SUPB – SISTEM ZA UPRAVLJANJE PODATKOVNE BAZE
47
4.1
Funkcije SUPB
49
4.2
Komponente SUPB
51
4.3
Arhitektura SUPB
52
4.4
Organizacija SUPB
54
4.5
Uporabniki PB
57
4.6
Varovanje (SU)PB
60
4.7
Kriteriji za izbiro SUPB
63
NAČRTOVANJE PODATKOVNE BAZE 5. UVOD V NAČRTOVANJE PODATKOVNIH BAZ
68
5.1
Uvod
68
5.2
Osnovni pojmi
68
5.3
Podatkovni model
70
5.4
Postopek izdelave PB
73
6. PODATKOVNA ANALIZA IN ZBIRANJE ZAHTEV
75
7. KONCEPTUALNO NAČRTOVANJE PODATKOVNIH BAZ
77
7.1
Uvod v konceptualno načrtovanje
77
7.2
ENTITETNO-RELACIJSKI MODEL (E-R model)
78
7.2.1 7.2.2 7.2.3 7.2.4 7.2.5
79 81 82 83 84
7.3
Entiteta Atribut Enolični identifikator entitete Razmerje (relacija ali povezava) med entitetnimi tipi Števnost (kardinalnost) razmerja
Primer razvoja E-R diagrama
8. LOGIČNO NAČRTOVANJE PODATKOVNIH BAZ 8.1
89
91
RELACIJSKI PODATKOVNI MODEL
91
8.1.1 8.1.2
92 95
Tabela (relacija) Ključ
5
8.1.3 8.2
Povezovanje tabel
97
Primer razvoja logičnega modela
103
9. NORMALIZACIJA PODATKOVNE BAZE 9.1
9.2
105
FUNKCIONALNA ODVISNOST
106
9.1.1 9.1.2 9.1.3
108 109 110
Delna funkcionalna odvisnost Polna funkcionalna odvisnost Tranzitivna funkcionalna odvisnost
FORMALNI POSTOPEK NORMALIZACIJE
110
9.2.1 9.2.2 9.2.3 9.2.4 9.2.5
110 114 115 116 117
Nenormalizirana oblika Prva normalna oblika Druga normalna oblika Tretja normalna oblika Test pravilnosti pretvorbe v 3NO
10. DOKUMENTIRANJE
118
10.1 Dokumentiranje E-R modela
119
10.2 Dokumentiranje relacijske podatkovne baze
120
10.3 Vaja: Primer dokumentacije
121
10.4 CASE orodja (angl. Computer Aided Software Engineering)
123
11. FIZIČNI MODEL
125
STRUCTURED QUERY LANGUAGE (SQL) 12. UVOD V POVPRAŠEVALNI JEZIK SQL
130
13. Stavki skupine SQL DDL
133
13.1 Kreiranje baze
133
13.2 Brisanje baze
134
13.3 Kreiranje tabel
135
13.3.1 Podatkovni tipi 13.3.2 Omejitve
6
136 138
13.4 Izbris tabele
143
13.5 Preimenovanje tabele
144
13.6 Kopiranje tabel
145
13.7 Spreminjanje strukture tabele (ALTER TABLE stavek)
147
14. Stavki skupine SQL DCL
152
15. Stavki skupine SQL DML
154
15.1 Vnos podatkov v tabelo
154
15.1.1 Dodajanje novih zapisov 155 15.1.2 Prepisovanje vsebine ene tabele (ali dela atributov ene tabele) v drugo 158 15.1.3 Uvažanje datotek 158 15.2 Posodobitev zapisov
158
15.3 Brisanje zapisov
160
16. Poizvedbe nad podatki
162
16.1 Stavek SELECT – FROM 16.1.1 ALL in DISTINCT 16.2 Agregacijske Funkcije 16.2.1 Funkciji MIN in MAX 16.2.2 Funkcija COUNT 16.2.3 Funkciji SUM in AVG
163 165 166 167 168 170
16.3 Matematični operatorji
171
16.4 AS
173
16.5 Stavek WHERE
174
16.5.1 16.5.2 16.5.3 16.5.4
Primerjalni operatorji Kombinacija pogojev in Boolean operatorji Pogojni operator IN Pogojni operator BETWEEN
174 178 180 181
16.6 Stavek GROUP BY
183
16.7 Stavek HAVING
185
16.7.1 Razlika med WHERE in HAVING 16.8 Stavek ORDER BY
185 187
7
UVOD V PODATKOVNE BAZE
Kaj se bomo v tem poglavju nauÄ?ili? Spoznali bomo informacijski sistem, njegove gradnike ter vrste informacijskih sistemov in njegovo vlogo v organizaciji. Spoznali bomo pojem podatkovna baza ter njeno vlogo v organizaciji. Spoznali bomo, kaj je SUPB in njegova vloga.
1. POSLOVNI SISTEM Poslovni sistem je sistem, v katerem sodelujejo ljudje kot izvajalci poslovnih procesov in pri tem uporabljajo informacije, tehnologijo in druga sredstva za produkcijo izdelkov oziroma storitev. Temeljni proces poslovnega sistema je reprodukcijski proces, temeljni cilj pa ekonomski. Poslovni sistem je razčlenjen na informacijski podsistem, izvajalni (operativni) in organizacijski (upravljalni), od katerih vsak zase nastopa kot delni sistem.
1.1
Informacijski podsistem Informacijski podsistem je sistem zbiranja, shranjevanja podatkov in posredovanja informacij, ki ima štiri funkcije: 1. Funkcija obravnavanja podatkov o preteklosti je: • zbiranje, • začetno obdelovanje in • prikazovanje podatkov o preteklih poslovnih procesih in stanjih. Njena naloga je, da pripravlja informacijsko podlago za odločanje pri nadziranju kot upravljalni funkciji. 2. Funkcija obravnavanja podatkov o prihodnosti je • zbiranje, • urejanje, • začetno obdelovanje in • prikazovanje podatkov o prihodnjih poslovnih procesih in stanjih. Naloga te funkcije je, da informacijsko podpira odločitve o načrtih prihodnjega poslovanja podjetja, ki se sprejmejo v upravljalnem podsistemu. 3. Funkcija nadziranja obravnavanja podatkov je: • presojanje pravilnosti in • odpravljanje nepravilnosti pri oblikovanju informacij. Naloga funkcije je, da zagotavlja pravilno izkazovanje poslovnega procesa v podatkih in njihovo preoblikovanje v informacije.
10
Uvod v podatkovne baze