Databases
van ontwerp naar implementatie
Samenvatting
In dit boek introduceren we het begrip database. Je leert welke voordelen het gebruik van een digitale database heeft en het verschil tussen data (gegevens) en informatie. Gegevens op zich zijn geen informatie. Maar een juist gebruik van gegevens binnen een bepaalde context leidt tot de door ons gezochte informatie.
Aangezien dit een leer-doe boek is, wordt je ook uitgelegd hoe je een database omgeving moet opzetten. Met name een Oracle database. Je leert hoe je zelf de omgeving gebruiksklaar kunt maken, en hoe je door gebruik van de Oracle Application Express (APEX) gegevens uit de database kunt opvragen.
Specificaties
Inhoudsopgave
U kunt van deze inhoudsopgave een PDF downloaden
Belangrijkste kenmerken van dit boek 1
De opzet van dit boek 1
Over de auteurs 2
Woord van dank 2
1 Introductie: data en informatie 3
1.0 Wat leer je in dit hoofdstuk? 3
1.1 Verschil tussen gegevens en informatie 4
Gegevens en informatie 4
1.2 Kort overzicht van de geschiedenis van computers en databases 6
Precomputertijdperk 7
Intrede computertijdperk 8
Snelle ontwikkelingen aan het einde van de twintigste eeuw 9
21e eeuw 10
1.3 Datamodellering 11
Database Development Process 11
1.4 Installatie van Oracle en de Oracle Application Express (Apex) 15
Installatie Oracle-ontwikkelomgeving 17
1.5 Starten Oracle Application Express en gebruik 17
Gebruik van het HR-schema 20
1.6 Samenvatting 25
1.7 In dit hoofdstuk geïntroduceerde termen 26
1.8 Relatie Engelse-Nederlandse termen 26
2 Datamodellering 27
2.0 Wat leer je in dit hoofdstuk? 27
2.1 Conceptuele modellen 28
Conceptueel model 28
2.2 Elementen van het conceptueel model 29
Entiteit 29
Attribuut 29
Instantie 29
Entiteit en instanties 30
Attributen 31
Unique identifiers 33
2.3 ERD’s 34
ERD 34
2.4 Entiteiten en attributen binnen een ERD 35
Entiteiten 36
2.5 Introductie Oracle SQL Developer Data Modeler 37
2.6 Relaties binnen een ERD 44
2.7 Relaties en ERDish 46
Scenario 1: één-op-één-relatie 46
Scenario 2: één-op-veel-relatie 49
Scenario 3: één-op-één-relatie 50
Scenario 4: één-op-veel-relatie 51
Scenario 5: veel-op-veel-relatie 53
2.8 Matrixdiagram 55
2.9 Datatypen in Oracle 60
Character (karakter) datatypes 60
Number values (getallen) 60
Date and time values (datum- en tijdwaarden) 60
Binary values (binaire waarden) 60
DATE-TIME-datatypen 61
TIMESTAMP 61
TIMESTAMP WITH [LOCAL] Time Zone 61
TIMESTAMP WITH LOCAL TIME ZONE 61
INTERVAL-datatypen 62
2.10 Samenvatting 63
2.11 In dit hoofdstuk geïntroduceerde termen 63
2.12 Relatie Engelse-Nederlandse termen 64
3 Relaties binnen een ERD 65
3.0 Wat leer je in dit hoofdstuk? 65
3.1 Business rules 67
Structural business rules 68
Procedural business rules 68
3.2 Relationship transferability 69
3.3 Verschillende typen relaties 71
Eén-op-veel-relaties (1:M) 71
Veel-op-veel-relaties (M:M) 72
Eén-op-één-relaties (1:1) 73
Redundant relationships 74
3.4 M:M-relaties oplossen in het ERD 76
3.5 Unique identifi ers 80
Barred relationships 81
Barred relationships en intersection entities 82
Artifi cial UID 84
Candidate UID’s 86
3.6 Normaliseren: inleiding en eerste normaalvorm (1NV) 87
Nulde normaalvorm (0NV) – niet-genormaliseerde gegevens 88
Eerste normaalvorm (1NV) 90
Tweede normaalvorm (2NV) 94
Derde normaalvorm (3NV) 98
3.7 Samenvatting 103
3.8 In dit hoofdstuk geïntroduceerde termen 103
3.9 Relatie Engelse-Nederlandse termen 104
4 Mapping: van conceptueel model naar fysiek model 105
4.0 Wat leer je in dit hoofdstuk? 105
4.1 Introductie: relationeel databaseconcept 106
Relationele database 106
SQL-statements 107
Primary key 108
Foreign key 110
Column integrity 112
Data integrity 113
4.2 Basic mapping: het transformatieproces 114
Relationele tabellen 114
Mapping 115
Tabeldiagram 119
Naming conventions 120
Short names 120
Naamrestricties 122
4.3 Mapping met de SQL Developer Data Modeler 125
4.4 CREATE TABLE 127
CREATE TABLE syntaxis 128
Een tabel aanmaken met behulp van de SDDM 128
Omschrijving van een tabel 135
4.5 Objecten fysieke database 139
External tables 139
Data Dictionary 139
Database Schema Objects 141
4.6 In dit hoofdstuk geïntroduceerde termen 143
4.7 Relatie Engelse-Nederlandse termen 145
5 Data in tabellen 147
5.0 Wat leer je in dit hoofdstuk? 147
5.1 Manipuleren van data 148
INSERT INTO 148
5.2 Anatomie van een SQL-statement 149
Keywords 152
Clauses 153
Afsluiting statements 153
5.3 INSERT INTO 153
5.4 SELECT statement 160
Kopiëren van tabellen 162
5.5 Het DESCRIBE statement nader bekeken 166
5.6 Het INSERT INTO statement nader bekeken 166
5.7 In dit hoofdstuk geïntroduceerde termen 168
5.8 Relatie Engelse-Nederlandse termen 168
6 SELECT statements in relationele databases 169
6.0 Wat leer je in dit hoofdstuk? 169
6.1 DBMS 171
Relationele databases 171
Data manipulation language (DML) 172
Data definition language (DDL) 172
Transaction control language (TCL) 173
Data control language (DCL) 173
6.2 SELECT statement 173
Arithmetic operations (rekenkundige bewerkingen) 178
Null values 178
Aliassen 179
6.3 Kolommen, characters en rijen 181
Describe 181
Concatenatie 182
Literal values 183
DISTINCT 184
6.4 Het aantal rijen in de output beperken 186
WHERE 186
Comparison operators 188
IS NULL, IS NOT NULL 191
6.5 Logische operatoren en bewerkingsvolgorde 192
Logische operator 192
AND 192
OR 193
NOT 195
Volgorde in gebruik van operatoren 196
6.6 Sorteren van rijen 198
ORDER BY 199
6.7 Applicaties 203
6.8 Samenvatting 204
6.9 In dit hoofdstuk geïntroduceerde termen 204
6.10 Relatie Engelse-Nederlandse termen 206
7 Functies 207
7.0 Wat leer je in dit hoofdstuk? 207
7.1 Introductie functies 209
Single-row-functies 210
Multiple-row-functies 210
7.2 Group functions 211
DISTINCT 215
NVL-functie 217
7.3 Case-karakter-functies 218
Upper case en lower case 218
UPPER(string) en LOWER(string) 219
INITCAP(string) 221
7.4 Karaktermanipulatie-functies 221
CONCAT(string, string) 222
SUBSTR(string, positie, lengte) 222
LENGTH(string) 223
INSTR(string, string) 223
LPAD(string, getal, karakter) 224
RPAD(string, getal, karakter) 224
REPLACE(string, string, string) 224
7.5 Nummerfuncties 225
ROUND(getal) 226
TRUNC(getal) 226
MOD(getal, getal) 227
7.6 Datumfuncties 228
SYSDATE 228
MONTHS_BETWEEN(date, date) 229
NEXT_DAY(date, dag) 230
LAST_DAY(date) 230
ADD_MONTHS(date, aantal maanden) 231
ROUND() en TRUNC() 231
7.7 TO_DATE()-, TO_CHAR()- en TO_NUMBER()-functies 232
DATE 232
Conversie van DATE naar karakterstring 233
Conversie van karakterstring naar DATE 235
Het verschil tussen het RR en YY format 235
Conversie van getal naar karakterstring 236
Conversie van karakterstring naar getal 237
De volgorde waarin functies worden uitgevoerd 238
7.8 NULL-functies 239
NVL()-functie 239
NVL2()-functie 241
7.9 Conditionele functies en expressie 241
NULLIF()-functie 242
CASE-expressie 242
DECODE-functie 243
7.10 Samenvatting 244
7.11 In dit hoofdstuk geïntroduceerde termen 245
7.12 Relatie Engelse-Nederlandse termen 246
8 Joins 247
8.0 Wat leer je in dit hoofdstuk? 247
8.1 Inner joins 248
Natural join 249
De natural join toegepast 253
Inperking van de output 255
Join tussen meerdere tabellen 256
USING clause 257
Tabel-alias 257
WHERE in combinatie met USING clause 258
ON clause 259
Joining van meerdere tabellen 261
Oracle Proprietary joins 261
Equi join 263
Aliassen 264
ANSI cross join 266
Cartesian product join 268
8.2 Non-equi joins 270
Oracle Proprietary non-equi join 270
8.3 Outer joins 274
Left outer join 274
Right outer join 276
Full outer join 277
Oracle Proprietary outer joins 279
8.4 Self joins 282
8.5 Samenvatting 284
8.6 In dit hoofdstuk geïntroduceerde termen 284
8.7 Relatie Engelse-Nederlandse termen 285
9 Groeperen van resultaten en subqueries 287
9.0 Wat leer je in dit hoofdstuk? 287
9.1 GROUP BY en HAVING clauses 288
GROUP BY 288
GROUP BY in SELECT 290
GROUP BY clause 290
COUNT 292
WHERE clause 292
Groups binnen GROUPS 293
Nesting goup functions 294
HAVING 294
ROLLUP 296
9.2 Subqueries 297
Subquery-voorbeelden 298
9.3 Single-row subqueries 301
Subqueries met verschillende tabellen 301
Subquery en null 304
Group functions in subqueries 304
Subqueries in de HAVING clause 305
9.4 Multiple-row subqueries 306
Query comparison 306
IN, ANY en ALL 306
IN 308
ANY 308
ALL 309
Null values 311
GROUP BY en HAVING 312
Het belang van het bepalen van het type subquery 315
9.5 Multiple-column subqueries 317
9.6 Samenvatting 318
9.7 In dit hoofdstuk geïntroduceerde termen 319
9.8 Relatie Engelse-Nederlandse termen 319
10 DML en DDL statements 321
10.0 Wat leer je in dit hoofdstuk? 321
10.1 Data manipulation language (DML) statements 322
UPDATE 322
DELETE 327
DEFAULT 329
MERGE 330
10.2 Data Definition langugage (DDL) statements 332
ALTER TABLE 332
ADD 332
MODIFY 333
DROP 334
SET UNUSED 335
10.3 DROP TABLE 336
DROP TABLE statement 336
FLASHBACK TABLE 336
RENAME 337
10.4 TRUNCATE 338
COMMENT ON TABLE 338
10.5 Flashback query 339
10.6 MACOR 340
Bedrijfsomschrijving Macor 340
10.7 Samenvatting 345
10.8 In dit hoofdstuk geïntroduceerde termen 345
10.9 Relatie Engelse-Nederlandse termen 345
Vergelijkbare boeken
Anderen die dit boek kochten, kochten ook
Net verschenen
Rubrieken
- aanbestedingsrecht
- aansprakelijkheids- en verzekeringsrecht
- accountancy
- algemeen juridisch
- arbeidsrecht
- bank- en effectenrecht
- bestuursrecht
- bouwrecht
- burgerlijk recht en procesrecht
- europees-internationaal recht
- fiscaal recht
- gezondheidsrecht
- insolventierecht
- intellectuele eigendom en ict-recht
- management
- mens en maatschappij
- milieu- en omgevingsrecht
- notarieel recht
- ondernemingsrecht
- pensioenrecht
- personen- en familierecht
- sociale zekerheidsrecht
- staatsrecht
- strafrecht en criminologie
- vastgoed- en huurrecht
- vreemdelingenrecht