Databanken - les 2.

Vergelijkbare documenten
Databanken - les 2.

SQL.

Het omzetten van een ER-diagram naar SQL

SQL datadefinitietaal

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: Groep TDI 1

Pazaak PROJECTWERK. Opleidingsonderdeel Projecten Workshops I. Faculteit Bedrijf en Organisatie Valentin Vaerwyckweg GENT

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

6. Het maken van een database

Data Definition Language

Van een ER-diagram naar een database specificatie in SQL

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64

Databases en SQL Foundation (DBSQLF.NL)

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

Information Retrieval.

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

Informatica toets vwo 6 Databases

hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit relationele databases 9.1

Hoofdstuk: 1 Principes van databases

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.

Integriteitsbewaking bij een relationele database

Inleiding Databases en Data Base Management Systems Tabellen Wat is SQL?... 5

Informatie & Databases

voorbeeldexamen I-Tracks Databases and SQL Foundation Voorbeeldexamen DBSQLF Uitgave juni 2006

Databases - Inleiding

Elfde-Liniestraat Hasselt Schooljaar TINFO POKER GAME Oracle Scripts

Sparse columns in SQL server 2008

EXIN Databases en SQL Foundation

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank

[TOETS SQL INLEIDING]

EXIN Databases en SQL Foundation

opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren

Normaalvormen. DB kent vijf normaalvormen, elke strenger dan de vorige De eerste drie zijn veelgebruikt. ax 2 + bx + c =0

Thinking of development

Database Structuur via menus

SQL Aantekeningen 3. Maarten de Rijke 22 mei 2003

Inhoud. Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2

Zelftest DB2 for z/os basiscursus

12. Meer dan één tabel gebruiken en sub-queries

SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC

Les 10 : Aanmaken van een database (deel2).

Het SQL Leerboek zevende editie Antwoorden op Opgaven

Het SQL Leerboek zevende editie Objectrelationele Concepten in SQL

1 Oefensessie 23/02/2009

Snelgids voor het bouwen van een IT- RDBMS in EXCEL.

Objectgericht programmeren 1.

Handleiding configuratie en gebruik tekenmodule

Zelftest Oracle basiscursus

Query SQL Boekje. Fredrik Hamer

SQL & Datamodelleren

Data Warehouse Script Generator Doel

8. De invoer van gegevens

Na bestudering van dit hoofdstuk, moet je tot het volgende in staat zijn:

Conceptuele modellen versus SQL 2003

KU Leuven Campus De Nayer. Industrieel ingenieur. Opleiding Electromechanica 3e academisch bachelorjaar. Databanken

Van CaseTalk naar een database in SQLite studio

ER-modeling. Datamodellering Wat is ER-modeling?

ER-modeling. Wat is ER-modeling? ERD & relationeel model. ER-benadering DMO Datamodellering 2008

Relationele Databases 2002/2003

HANDLEIDING XTENDIS 5 CONSISTENTIE CONTROLE

Koppeling met een database

Gebruikershandleiding DAMO Watersysteem. Versie 1.0

Datamodelleren en databases 2011

9 H. Flits Zwanenveld Nijmegen Jeugd1 10 L. Willemsen Kasteel 4 Wychen Jeugd1 12 M.E.P. Graag Broerdijk 234 Nijmegen Heren 12/8/89 19/8/89 36

Dataconversie met Oracle Spatial

NHibernate als ORM oplossing

Het SQL Leerboek zevende editie De Installatiegids

Groepswerk Technieken voor Datamodellering

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

1. Inleiding Inleiding SQL Inleiding Database, databaseserver en databasetaal Het relationele model...

Variabelen en statements in ActionScript

Introductie (relationele) databases

Relationele Databases 2002/2003

Digitaal Staatsexamen VWO 2010

Staatsexamen HAVO 2019

DATAMODEL GAME EVENT DATABASE ELTON GONÇALVES GOMES V1-10

Wiki on Wheels. -Wikipedia on your personal SQL server. Door Anton Kirschhock

Loonbelasting en premie volksverzekeringen

Relationele database. Het relationele model

Zonnepanelen Hoe krijg je de data op je website?

Lekker snel XML met SQL (.nl)

Elastic Search wat heb je aan data als je er niets mee doet.. Oscar Buse 11 juli 2017 Linux User Group Nijmegen

DATAMODELLERING ER DIAGRAM

Maak een analyse van deze gegevens door middel van ER-modellering.

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat

Guido Geurts Mark Bernaerts

Relationele databases

Legal Eagle - Integratiemodule Sdu Uitgevers / A. Koppenaal

Normaliseren. Er zijn 5 stappen in het normaliseren, maar meestal worden alleen de eerste 3 uitgevoerd.

Ontwerp een datamodel

Relationele Databases 2002/2003

Puzzelen met SQL DBA. De muzieklijst, deel 1. De tabellen De tabellen die we gaan gebruiken in deze puzzel zijn weergegeven in afbeelding 1.

Transcriptie:

Databanken - les 2 joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn/

Bv. tennisclub Onze tennisclub heeft een aantal spelers, die allemaal een uniek spelersnummer hebben. Soms krijgt een speler een boete. Elke boete heeft een uniek nummer, een bedrag en werd gegeven op een datum. Onze spelers spelen wedstrijden tegen spelers van andere clubs. Elke wedstrijd heeft een nummer. Voor elke wedstrijd, willen we weten welke van onze spelers de wedstrijd gespeeld heeft, en hoeveel sets hij gewonnen/verloren heeft. Elke wedstrijd wordt gespeeld binnen een team. Elk team zit in een divisie en wordt geleid door een teamleider.

er Onze tennisclub heeft een aantal spelers, die allemaal een uniek spelersnummer hebben. Onze tennisclub heeft een aantal spelers, die allemaal een uniek spelersnummer hebben.

er Onze tennisclub heeft een aantal spelers, die allemaal een uniek spelersnummer hebben. Tennisclub Spelersnr heeft heeft Speler

er Onze tennisclub heeft een aantal spelers, die allemaal een uniek spelersnummer hebben. snr Speler

er Sommige van de spelers hebben boetes. Elke boete heeft een uniek nummer, een bedrag en werd gegeven op een datum. bedrag snr bnr datum Speler heeft Boete

Onze spelers spelen wedstrijden tegen spelers van andere clubs. Elke wedstrijd heeft een nummer. Voor elke wedstrijd, willen we weten welke van onze spelers de wedstrijd gespeeld heeft, en hoeveel sets hij gewonnen/verloren heeft. snr wnr verloren gewonnen Speler speelt Wedstrijd

Elke wedstrijd wordt gespeeld binnen een team. Elk team zit in een divisie en wordt geleid door een teamleider. snr wnr verloren gewonnen Speler speelt Wedstrijd leidt Team binnen

Tennisclub snr Spelers speelt heeft leidt bnr datum Boetes bedrag wnr Wedstrijden verloren gewonnen binnen tnr Teams divisie

ER DB ER-diagramma beschrijft structuur van gegevens! Entiteiten, attributen, relaties! Bedoeling is gegevens zelf opslaan! In DB, die we moeten creëren! Manier waarop afgeleid van ER

Databank

Tabel Student Naam Nummer Richting Jan s000001 EICT Piet s000020 EM Sophie s000033 Chemie.........

Tabel & sterke entiteit Student Naam Nummer Richting Jan s000001 EICT......... Naam Studnr Richting Student

Tabel & sterke entiteit Docent Naam Personeelsnr. Woonplaats Vennekens p01953 Leuven......... Naam PersNr Woonplaats Docent

Relatie Naam Studnr Richting Student Student Naam Nummer Richting Jan s000001 EICT......... Promotor Docent Naam PersNr Woonplaats

Relatie Naam Studnr Richting Student Student Naam Nummer Richting Promotor Jan s000001 EICT????......... Promotor Docent Naam PersNr Woonplaats

Relatie Naam Studnr Richting Student Foreign key Student Naam Nummer Richting Promotor Jan s000001 EICT p01927......... Promotor Docent Naam PersNr Woonplaats

Relatie Naam Studnr Richting Docent Student Naam Nummer Richting Student Jan s000001 EICT????......... Promotor Docent Naam PersNr Woonplaats

man getrouwd vrouw vrouw bij man of man bij vrouw persoon stemt op partij partij bij persoon huis bevat kamer huis bij kamer student volgt vak???

Relatie Naam Studnr Student Richting Volgt Studnr Vaknr s000001 p01953...... Naam Vaknr Studieptn Volgt vak

Student Naam Studnr Woonplaats Jan s000001 Sint-Katelijne......... Foreign key Promotor Studnr Vaknr s000001 YI0913...... Foreign key Vak Naam Vaknr Studieptn Databanken YI0913 3.........

Relatie Naam Studnr Student Richting Promotor Studnr Persnr s000001 p01953...... Naam PersNr Woonplaats Promotor Docent Alternatief

Richting Opleiding Fase Minor EICT 3 I......... Fase Minor Opleiding Richting

Foreign key Naam Woonplaats Studnr Student Volgt Studnr Opl. Minor Fase s000001 EICT I 3...... Fase Minor Opleiding Volgt Richting

Zwakke entiteit fase opleiding richting minor RiVak vaknr vnaam vak uren Vak vaknr vnaam uren 2 DB 2 3 OP1 1? 2 GIS 1.........

Zwakke entiteit fase opleiding richting minor RiVak Vak vaknr vnaam vak uren fase opl. minor vaknr Vnaam uren 3 EICT I 2 DB 2 3 EICT I 3 OP1 1 3 BK BK 2 GIS 1..................

Gevorderde ERdiagramma s

Specialisatie Meestal: Docent Student Maar kan ook: Computer Laptop

Specialisatie MAC adres CPU RAM Computer Harde schijf MAC adres CPU RAM Laptop Harde schijf WIFI

Specialisatie MAC adres CPU RAM Computer Harde schijf ISA Laptop WIFI

Specialisatie MAC adres CPU RAM Computer Harde schijf ISA Laptop Desktop WIFI

Specialisatie chassisnr Auto ISA ISA Diesel Benzine AutoMetKoffer roetfilter super 98 inhoud

Specialisatie Latijn Gist nummer Brouwer ISA Brouwt Saccharo Bier

Generalisatie Naam Studnr Woonplaats Student Naam PersNr Woonplaats Docent

Generalisatie Naam Woonplaats Studnr Student Persoon ISA PersNr Docent Elke persoon is ofwel student ofwel docent

Generalisatie chassisnr Auto ISA ISA Diesel Benzine AutoMetKoffer roetfilter super 98 inhoud

Boek Mag Openboek ISA Zittijd SchrVrb Jaar Examen ISA Van Vak Mondeling Schriftelijk

In tabellen: spec. MAC adres CPU RAM Computer ISA Harde schijf Computer MAC CPU RAM... 00:0C:6E:D2:11:E6 PPC 2GB... WIFI Laptop Laptop MAC WIFI 00:0C:6E:D2:11:E6...

Alternatief voor gen. Student Naam Nummer Persoon ISA Woonplaats Student Nummer Naam Woonpl.......... Loon Docent Docent Nummer Naam Woonpl. Loon............

Vergelijking Met tabel voor hoog-niveau entiteit:! Meer tabellen! Gegevens van 1 entiteit zitten verspreid! Zonder tabel voor hoog-niveau entiteit:! Risico op duplicatie van gegevens (bv. doctoraatsstudent)! Enkel voor generalizatie

Aggregatie werknemer wnr werkt project pnr aantal gebruikt machine mnr

Aggregatie Werk wnr werknemer werkt project pnr aantal gebruikt machine mnr

Invoeren in computer

SQL Databank systeem! Tekst interface! Data definition language Aanmaken van tabellen! Vullen van tabellen met gegevens! Gegevens opvragen Data manipulation language

Tabel maken CREATE TABLE naam ( kolommen, integriteitsbeperkingen ); Kolom: <naam> <datatype> Student Studnr Naam Woonplaats CREATE TABLE Student ( Studnr INTEGER, Naam CHARACTER(30), Woonplaats CHAR(40) );.........

Data types SMALLINT: kleine gehele getallen (-32767 en 32767)! INTEGER: grote gehele getallen! DECIMAL(x,y): kommagetal met x cijfers waarvan y na de komma! CHARACTER(x): woord van x letters! DATE: datum

Data types! VARCHAR(x): woord van x letters met variabele lengte! CLOB: character large object! BLOB: binary large object

Tabel maken CREATE TABLE naam ( kolommen, integriteitsbeperkingen ); Kolom: <naam> <datatype> Student Studnr Naam Woonplaats......... CREATE TABLE Student ( Studnr INTEGER PRIMARY KEY, Naam CHARACTER(30) NOT NULL, Woonplaats CHAR(40) ); Of:..., PRIMARY KEY (Studnr) );

Tabel maken CREATE TABLE naam ( kolommen, integriteitsbeperkingen ); Kolom: <naam> <datatype> Student Studnr Naam Woonplaats......... CREATE TABLE Student ( Studnr INTEGER CHECK Studnr < 99999, Naam CHARACTER(30), Woonplaats CHAR(40) );

Tabel maken CREATE TABLE naam ( kolommen, integriteitsbeperkingen ); Kolom: <naam> <datatype> Student Studnr Geboortejaar Inschrijvingsjaar......... CREATE TABLE Student ( Studnr INT, Geboortejaar INT CHECK Geboortejaar < 2000, Inschrijvingsjaar INT CHECK Inschrijvingsjaar > 1970, CHECK Inschrijvingsjaar > Geboortejaar );

Foreign keys Promotor Studnr Persnr 000001 01953...... CREATE TABLE Promotor ( Studnr INTEGER REFERENCES Student, Persnr INTEGER, FOREIGN KEY (Persnr) REFERENCES Personeel );

Foreign keys Promotor Studnr Persnr 000001 01953...... CREATE TABLE Promotor ( Studnr INTEGER REFERENCES Student ON UPDATE CASCADE ON DELETE SET NULL, Persnr INTEGER, FOREIGN KEY (Persnr) REFERENCES Personeel ON UPDATE CASCADE ON DELETE SET NULL );

Wat als het misgaat? Promotor Studnr Persnr 000001 01953 Student Studnr Naam Woonplaats 000001...... Personeel Persnr Naam Woonplaats 01953...... Default: verwerp On delete cascade set null On update cascade set null

Samenvattend Naam Studnr Woonplaats Student Student Studnr Naam Woonplaats......... CREATE TABLE Student ( Studnr INTEGER, Naam CHARACTER(30) NOT NULL, Woonplaats CHAR(40), PRIMARY KEY (Studnr), );

Samenvattend Probleemstelling! ER-Diagramma! Databank definitie! Gegevens invoeren! Gegevens opvragen Huiswerk! Practicum Volgende 2 lessen