Basiscursus Informatica, 98-99 College 9, H 9 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 9, Database Structures Brookshear H9 Richard.

Slides:



Advertisements
Verwante presentaties
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
Advertisements

NEDERLANDS WOORD BEELD IN & IN Klik met de muis
Downloaden: Ad-aware. Downloaden bestaat uit 3 delen: •1. Zoeken naar de plek waar je het bestand kan vinden op het internet •2. Het nemen van een kopie.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Module 7 – Hoofdstuk 5 (1) SQL – een begin.
Personalisatie van de Archis website Naam: Sing Hsu Student nr: Datum: 24 Juni 2004.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Thema HACCP
Basiscursus Informatica SWI Theoriegedeelte Overzicht en H0 Richard Benjamins.
Databases Informatica Ga verder met een muisklik. SQL FCO DBMS NE FA
Ronde (Sport & Spel) Quiz Night !
Natuurlijke Werkloosheid en de Phillipscurve
Keuzeondersteunend model voor inbouwpakketten bij herbestemmingsprojecten Eindcolloquium Wiebrand Bunt.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Van Nul naar Drie Normaliseren.
Normaliseren Datamodellering 2006.
Databases.
Nooit meer onnodig groen? Luuk Misdom, IT&T
Hoofdstuk 6: Controle structuren
Passie - Verrijzenis Arcabas
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Softwarepakket voor het catalogeren en determineren van fruitsoorten
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Opleiding Kunstmatige Intelligentie cursus Databases voor AI
Opleiding AI cursus Databases
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
Databases I (H. 1) Wiebren de Jonge Vrije Universiteit, Amsterdam Voorlopige versie 2003.
Basiscursus Informatica, College 3, H 3 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 3, Operating Systems and Networks Brookshear.
Spatial subgroup mining
Geometrie en topologie Rob Kromwijk, 26 juli 2012.
Afrika: Topo nakijken en leren.
User management voor ondernemingen en organisaties
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
Inleiding Informatica, College 6, H 6 – sheet nr. 117 October :27 Basiscursus Informatica 98/991 Inleiding Informatica College 7, Brookshear.
Inleiding Informatica, College10, H 9, sheet nr 119-mrt :36 Basiscursus Informatica 98/991 Inleiding Informatica College 10, Brookshear.
Basiscursus Informatica, College 8, H 8 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 8, File Structures Brookshear H8 Richard.
Basiscursus Informatica, College 6, H 6 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 6, Software Engineering Brookshear H6 Bob.
Databases.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 7 De 2 ♦ /2 ♥ /2 ♠ en de 2 ♣ -opening 1Contract 2, hst 7.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Opleiding CMS website Gent Bart Nelis Gent: #239/ docentengang Brussel: /naast bibliotheek
De financiële functie: Integrale bedrijfsanalyse©
Oefeningen Workshop RIE Gemeenten
Samen-bouwen … over paneelbouw en de rest!
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
SQL ( SERVER ) Les #02: T-SQL. A GENDA Herhaling les 4 Views SELECT…INTO Beheren van tabellen: CREATE ALTER DROP Opdracht voor de volgende les.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Cegeka & TenForce Ronde tafel 17/06/2014 Doelstellingenmanagement VO.
Les 0 Structured Query Language SQL. Programma Les 0 – Introductieopdracht Les 1 Les 2 Les 3 Schriftelijke toets.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Analyse 3 INFANL01-3 week 2 CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK 8 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Herhaling ▸ Normaliseerregels ▸ Omzetten ERD ▸ Group by en SET ▸ Proeftentamen.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Wat is SQL (1)? SQL (Structured Query Language):  is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’)  is declaratief (‘WAT’ niet.
Databases.
– Software development fundamentals
LauwersCollege Buitenpost Informatica
Databases.
SQL Les February 2019.
SQL Les 1 5 April 2019.
SQL Les 9 12 May 2019.
– Software development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Basiscursus Informatica, College 9, H 9 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 9, Database Structures Brookshear H9 Richard Benjamins

Basiscursus Informatica, College 9, H 9 2 Basiscursus Informatica 98/992 Rooster n 16 maart herkansing DT 1, 15:00-17:00, zaal A-E (hoofdstuk 1-5) n 23 maart DT 2, 15:00-17:00, zaal A-E (hoofdstuk 6-9) (evaluaties) n 30 maart herkansing DT 2, 15:00-17:00, zaal A-E (hoofdstuk 6-9), Machiel Jansen n Vandaag laatste college!

Basiscursus Informatica, College 9, H 9 3 Basiscursus Informatica 98/993 Overzicht college 9 n Inleiding n Gelaagde benadering n Relationele databases ä Query talen n (Object-georienteerde databases NIET) n Integriteit van databases

Basiscursus Informatica, College 9, H 9 4 Basiscursus Informatica 98/994 Database? n Willekeurige verzameling data in massaopslag n Dataverzameling die verschillende verschijningsvormen kan hebben ä direct access en sequentiele toegang ä retrieval en salarisbetaling n Geintegreerde combinatie van verschillende bestaande datacollecties

Basiscursus Informatica, College 9, H 9 5 Basiscursus Informatica 98/995 Geschiedenis databases n Toenemende informatisering leidde tot veel stand-alone toepassingen ä zelfs binnen een organisatie –salaris administratie –inkoop afdeling –personeelszaken –etc. n Elke toepassing met eigen retrieval en opslag manier ä verbetering wb handmatige verwerking ä snel opgezet

Basiscursus Informatica, College 9, H 9 6 Basiscursus Informatica 98/996 File-oriented info system Customer records Customer service dept. Payroll dept. Personnel dept. Purchasing dept. Payroll records Inventory records Employee records direct accesssequentieel direct access sequentieel …..

Basiscursus Informatica, College 9, H 9 7 Basiscursus Informatica 98/997 Nadelen n Redundantie (zelfde data op verschillende plekken aanwezig) ä een personeelslid verhuist van afdeling ä zelfde verandering op verschillende plekken n Niet delen (sharing) van informatie waar mogelijk n Centraal beleid moeilijk uitvoerbaar

Basiscursus Informatica, College 9, H 9 8 Basiscursus Informatica 98/998 Database-oriented system Consolidated database Customer service dept. Payroll dept. Personnel dept. Purchasing dept.

Basiscursus Informatica, College 9, H 9 9 Basiscursus Informatica 98/999 Voordelen n Data komt maar op een plek voor ä updates maar een keer voor alle applicaties n Delen van informatie (share) n Centrale controle ä database administrator (DBA) –afdeling of persoon

Basiscursus Informatica, College 9, H 9 10 Basiscursus Informatica 98/9910 Nieuwe problemen n Toegang tot vertrouwelijke informatie ä gebruiker van customer service app. mag wel naam verkoper weten, maar niet salaris ä door centrale DB is alles met alles “gelinkt” n Grootschaligheid van huidige DBs: ä fouten hebben verstrekkende gevolgen n Welke gegevens mogen uberhaupt opgeslagen worden? Privacy! ä Autobezit -- wegenbelasting; APK ä Inkomstingbelasting -- studiefinaciering

Basiscursus Informatica, College 9, H 9 11 Basiscursus Informatica 98/9911 Database schema n Beschrijving van DB structuur ä gebruikt door software voor DB onderhoud n Subschema ä beschrijving van deel van DB voor een bepaalde gebruiker (inkoopafd.) ä hier wordt bepaald tot welke data toegang

Basiscursus Informatica, College 9, H 9 12 Basiscursus Informatica 98/9912 Voorbeeld name address phone academic record adviser... Student name address employment history salary advices student... Faculty member Subschema: studiezaken salarisadministratie

Basiscursus Informatica, College 9, H 9 13 Basiscursus Informatica 98/9913 Overzicht college 9 n Inleiding n Gelaagde benadering n Relationele databases ä Query talen n Integriteit van databases

Basiscursus Informatica, College 9, H 9 14 Basiscursus Informatica 98/9914 Gelaagde implementatie n Gebruikers van DBs zijn geen computerdeskundigen ä communiceren met DB in applicatie-termen ä niet in DB terminologie n DB georganiseerd met 2 tussenlagen ä applicatie software ä database management systeem (DBMS) n Schermt gebruiker af van DB implementatie ä sequentieel, geindexeerd, hashed

Basiscursus Informatica, College 9, H 9 15 Basiscursus Informatica 98/9915 Lagen in DB End user Application software Database management system Actual database Data seen in terms of the application Data seen in terms of a database model Data seen in its actual organization

Basiscursus Informatica, College 9, H 9 16 Basiscursus Informatica 98/9916 DBMS n Schermt applicatie-software af van implementatie details van DB ä gedistribueerde DB ä data independence (data onafhankelijkheid) –veranderingen in DB structuur hebben alleen consequenties voor betrokken applicatie-software en voor –DB schema en betrokken subschema’s n Bv. toevoegen: student heeft bijbaantje?

Basiscursus Informatica, College 9, H 9 17 Basiscursus Informatica 98/9917 Verandering gedeelte name address phone academic record adviser Student name address employment history salary advices student... Faculty member Subschema: studiezaken salarisadministratie bijbaantje Geen update van applicatie-software voor salarisadmin.

Basiscursus Informatica, College 9, H 9 18 Basiscursus Informatica 98/9918 Meer voordelen DBMS n Kan toegang tot informatie regelen ä elk subschema heeft eigen permissies n Applicatie-software kan geimplementeerd worden in conceptuele DB termen ä ingebouwde routines vertalen conceptueel gezichtspunt op DB naar opslag in massaopslag ä database model n DBMS komt met abstract tools (routines)

Basiscursus Informatica, College 9, H 9 19 Basiscursus Informatica 98/9919 Overzicht college 9 n Inleiding n Gelaagde benadering n Relationele databases ä Query talen n Integriteit van databases

Basiscursus Informatica, College 9, H 9 20 Basiscursus Informatica 98/9920 Relationele DBs n Conceptuele structuur van een DB n Waarom relationele DBs? ä simpel ä is de standaard ä erg populair n Data georganiseerd in tabellen ä worden relaties genoemd ä rij in tabel heet tuple ä kolom heet attribuut

Basiscursus Informatica, College 9, H 9 21 Basiscursus Informatica 98/9921 Tabel student number address name academic record Adema Amsterdam A:8.5;B:6.5; … Brouwer Amsterdam A:4.5;B:5; … de Vries Utrecht A:8;B:6; …. tuple (rij) attribuut relatie

Basiscursus Informatica, College 9, H 9 22 Basiscursus Informatica 98/9922 Uitbreiden relatie n Figuur 9.3 (blz. 334) ä ID-werknemer, naam, adres, ziekenfondsno. n Uitbreiden met info over eerdere loopbanen ä functie-id, functie-naam, moeilijkheid-functie, periode uitvoering functie n Mogelijkheid is Figuure 9.4 (blz. 335) ä alles in een tabel ä “Baker”, “Smith” twee keer in tabel –meerdere functies

Basiscursus Informatica, College 9, H 9 23 Basiscursus Informatica 98/9923 Problemen met uitbreiden n Inefficientie ä niet meer 1 tuple per werknemer ä informatie wordt gedupliceerd (naam, adres, etc.) n Verlies van informatie bij verwijderen tuple ä Joe Baker gaat weg --> verlies: ‘skillcode’ van D7 n Veel updates nodig ä Joe Baker verhuisd --> verander op meerdere plekken

Basiscursus Informatica, College 9, H 9 24 Basiscursus Informatica 98/9924 Reden voor problemen n Meer dan 1 concept gecombineerd in een relatie ä mix van info over: –werknemer –functies –relatie tussen beide Werknemer Functie Toewijzing

Basiscursus Informatica, College 9, H 9 25 Basiscursus Informatica 98/9925 Oplossing n Drie verschillende relaties (vgl ER-diagram) ä werknemer ä functie ä toewijzing n Figuur 9.5 (blz. 336) n In welk dept. heeft bep. employee gewerkt? ä Vind alle functies die employee heeft gedaan (assignment) ä vind dept. die bij functie horen (job)

Basiscursus Informatica, College 9, H 9 26 Basiscursus Informatica 98/9926 Opdelen van relaties n Soms zonder verlies van informatie ä nonloss decomposition n Soms met verlies van informatie ä vind afd. waar bep. werknemer werkt Empl-ID JobTitle Dept. Empl-ID JobTitleJobTitle Dept.

Basiscursus Informatica, College 9, H 9 27 Basiscursus Informatica 98/9927 Overzicht college 9 n Inleiding n Gelaagde benadering n Relationele databases ä Query talen n Integriteit van databases

Basiscursus Informatica, College 9, H 9 28 Basiscursus Informatica 98/9928 Relationele operaties n SELECT, PROJECT, JOIN ä select: selecteer rijen/tuples van relatie ä project: selecteer kolommen van relatie ä join: combineer verschillende relaties in 1 nieuwe n Toepassen operatie creeert nieuwe tabel n Nieuwe relatie operatie op relatie(s) n NEW SELECT from EMPL where ID=98

Basiscursus Informatica, College 9, H 9 29 Basiscursus Informatica 98/9929 SELECT, PROJECT n Select: Figuur 9.8 (blz. 338) n Project: Figuur 9.9 (blz. 339)

Basiscursus Informatica, College 9, H 9 30 Basiscursus Informatica 98/9930 JOIN n Join van 2 relaties ä nieuwe relatie wiens attributen/kolommen de combinatie is van oorspronkelijke n Naam van kolom: prefix van oorspronkelijke relatie ä garandeert unieke namen n Tuples/rijen van nieuwe relatie is de concatenatie n Join is vaak conditioneel ä C JOIN A and B where A.W = B.X

Basiscursus Informatica, College 9, H 9 31 Basiscursus Informatica 98/9931 JOIN n Figuur 9.10 (blz. 340) ä C JOIN A and B where A.W = B.X n Figuur 9.11 (blz. 341) ä C JOIN A and B where A.W < B.X n Figuur 9.5 (blz. 336) ä Lijst van alle werknemer-Ids met op welke afdeling ze werken

Basiscursus Informatica, College 9, H 9 32 Basiscursus Informatica 98/9932 Wie werkt waar? n Figuur 9.5 (blz. 336) ä NEW1 JOIN ASSIGNEMT and JOB where ASSIGNMENT.JobID = JOB.JobID NEW2 SELECT from NEW1 where ASSIGNMENT.TermDate = “*” LIST PROJECT ASSIGNMENT.EmplID, JOB.Dept from NEW2 n Figuur 9.12 (blz. 342)

Basiscursus Informatica, College 9, H 9 33 Basiscursus Informatica 98/9933 Vergeet niet... n SELECT, PROJECT, JOIN zijn conceptuele operaties ä gebruikt door applicatie software (abstract tools) ä DBMS vertaalt die in termen van massaopslag (file structures) n Huidige DBMS werken vaak met SQL ä structured query language ä 1 SQL query kan meerdere operaties uitvoeren

Basiscursus Informatica, College 9, H 9 34 Basiscursus Informatica 98/9934 SQL ä NEW1 JOIN ASSIGNEMT and JOB where ASSIGNMENT.JobID = JOB.JobID NEW2 SELECT from NEW1 where ASSIGNMENT.TermDate = “*” LIST PROJECT ASSIGNMENT.EmplID, JOB.Dept from NEW2 ä Select EmplID, Dept from ASSIGNMENT, JOB where ASSIGNMENT.JobID = JOB.JobID and ASSIGNMENT.TermDate = “*” ä Figuur 9.5 (blz. 336)

Basiscursus Informatica, College 9, H 9 35 Basiscursus Informatica 98/9935 SQL examples (Fig. 9.5) n Select Name, Address from EMPLOYEE ä lijst van alle werknemers met naam en adres (PROJECT) n Select EmplID, Name, Address, SSNum from EMPLOYEE where Name = ‘Cheryl H. Clark’ ä alle (genoemde) informatie over Clark (SELECT)

Basiscursus Informatica, College 9, H 9 36 Basiscursus Informatica 98/9936 SQL vervolgd n Insert into EMPLOYEE values (‘42Z12’, ‘Lloyd A. Burt’, ….) ä voegt tuple toe aan bepaalde relatie n Delete from EMPLOYEE where Name = ‘G. Jerry Smith’ ä verwijdert tuple van bepaalde relatie n Update EMPLOYEE set Address = ‘1812 Napoleon Ave.’ where Name = ‘Joe E. Baker’

Basiscursus Informatica, College 9, H 9 37 Basiscursus Informatica 98/9937 Overzicht college 9 n Inleiding n Gelaagde benadering n Relationele databases ä Query talen n (Object-georienteerde databases NIET) n Integriteit van databases

Basiscursus Informatica, College 9, H 9 38 Basiscursus Informatica 98/9938 Database integriteit n In grote databases die door veel gebruikers tegelijkertijd worden benaderd ä als verschillende personen op zelfde tijdstip iets willen veranderen, etc. ä kosten van foute data kan heel hoog zijn ä fouten kunnen verstrekkende consequenties hebben n Verantwoordelijkheid van DBMS dat alles goed gaat

Basiscursus Informatica, College 9, H 9 39 Basiscursus Informatica 98/9939 Transacties op DB n 1 transactie kan verschillende stappen op database nivo betekenen ä bankoverschrijving –eerst bijschrijven, dan afboeken of andersom ä vluchtreservering veranderen ä inschrijving van student veranderen n Tijdens transactie kan DB inconsistent zijn n Bij grote DB met veel gebruikers komt dat vaker wel voor dan niet

Basiscursus Informatica, College 9, H 9 40 Basiscursus Informatica 98/9940 n Als systeem plat gaat tijdens transactie? ä in inconsistente toestand n Bewaar record van alle stappen van een transactie op disk (niet in centraalgeheugen) ä log-file ä deferred update protocol –voordat transactie uitgevoerd wordt, worden de te maken verandering gelogd n Commit point: ä alle stappen van transactie zijn gelogd

Basiscursus Informatica, College 9, H 9 41 Basiscursus Informatica 98/9941 n Als na dit punt apparatuur fout optreedt ä DBMS weet uit log file welke transacties na laatste backup uitgevoerd zijn n Als fout optreedt voor commit point ä halverwege transactie die niet afgemaakt kan worden ä gebruik log-file om terug te gaan naar begin transactie (rollback) n Cascading rollback ä loop afhankelijkheden af

Basiscursus Informatica, College 9, H 9 42 Basiscursus Informatica 98/9942 Interacterende transacties n Transacties kunnen interacteren ä transactie A verandert iets, waardoor B fout gaat –incorrect summary problem –lost update problem n Mogelijke oplossing: one-at-a-time ä 1 transactie per keer ä Maar: erg traag door wachttijden (op disks) ä DMBS hebben vaak schedulers –Time-sharing (vgl OS)

Basiscursus Informatica, College 9, H 9 43 Basiscursus Informatica 98/9943 Locking n Schedulers gebruiken locking protocollen ä items die in gebruik zijn, worden gemarkeerd ä shared locks: lees-permissie ä exclusive locks: schrijf-permissie –pas als transactie klaar is, lock weg n Voordat een transactie plaatsvindt, vraagt het aan DBMS om toegang tot bepaald item

Basiscursus Informatica, College 9, H 9 44 Basiscursus Informatica 98/9944 Algoritmes voor toegang n Transactie moet wachten tot item weer vrij is ä probleem: deadlock n Wound-wait protocol ä oudste transactie krijgt voorrang ä jongere transactie “rolled back” en wordt ouder