Databases, ERD & SQL leren, ongeacht je opleiding of school, deze samenvatting is voor iedereen nuttig en zal alle informatie bevatten die je nodig hebt, duidelijk en niet ingewikkeld uitgelegd!
Informatie van: Databases Samenvatting HBO ICT jaar 1 Hogeschool van Amsterdam.
Samenvatting voor het va...
Hogeschool van Amsterdam
Samenvatting voor vak: Databases jaar 1
Opleiding: HBO-ICT
Door: Poumelie, 2015
1
,Inhoud
Niet-SQL gedeelte...................................................................................................................... 5
THE RELATIONAL MODEL......................................................................................................... 5
RELATIE (WISKUNDIG) – TABEL (DATABASES)..........................................................................5
PRIMARY KEY (PRIMAIRE SLEUTEL).......................................................................................... 5
COMPOSITE KEY (SAMENGESTELDE SLEUTEL)........................................................................5
CANDIDATE KEY (KANDIDAATSLEUTEL)................................................................................... 5
SURROGATE KEY (SURROGAATSLEUTEL)................................................................................. 6
FOREIGN KEY........................................................................................................................... 6
TUSSENTABEL......................................................................................................................... 6
HOE ONTSTAAN DATABASES?.................................................................................................. 6
WAT IS EEN DATAMODEL?........................................................................................................ 6
ENTITEITTYPE.......................................................................................................................... 7
ATTRIBUTEN............................................................................................................................ 7
IDENTIFIERS............................................................................................................................ 7
RELATIES................................................................................................................................. 7
ERD STAPPENPLAN.................................................................................................................. 7
VAN ERD NAAR RELATIONEEL MODEL..................................................................................... 9
1-OP-1 RELATIE OMZETTEN..................................................................................................... 9
VEEL-OP-VEEL RELATIE OMZETTEN......................................................................................... 9
MODELLEREN MET WORKBENCH........................................................................................... 10
PRIMARY KEY ‘SMALLER’ = ‘STRENGER’................................................................................10
NORMALISEREN..................................................................................................................... 11
EERSTE NORMAALVORM........................................................................................................ 11
REDUNDANTIE (bij eerste normaalvorm)............................................................................... 11
TWEEDE NORMAALVORM...................................................................................................... 12
TERMINOLOGIE...................................................................................................................... 12
DERDE NORMAALVORM......................................................................................................... 13
CONSTRAINTS (BEPERKINGSREGELS)....................................................................................15
REFERERENDE ACTIEREGELS................................................................................................ 16
RESTRICTED DELETE............................................................................................................. 16
CASCADING DELETE.............................................................................................................. 16
NULLIFYING DELETE.............................................................................................................. 16
RESTRICTED UPDATE............................................................................................................. 16
CASCADING UPDATE.............................................................................................................. 16
NULLIFYING UPDATE.............................................................................................................. 16
STERKE EN ZWAKKE ENTITEITEN........................................................................................... 17
CONSTRAINTS IN SQL............................................................................................................ 17
2
,Lynda........................................................................................................................................ 18
SQL gedeelte - Structured Query Language.............................................................................19
What Can SQL do?................................................................................................................. 19
Strings in SQL........................................................................................................................ 19
WHERE.................................................................................................................................. 19
CREATE DATABASE................................................................................................................ 20
CREATE TABLE....................................................................................................................... 20
ALTER TABLE....................................................................................................................... 20
USE DATABASE...................................................................................................................... 20
INSERT INTO.......................................................................................................................... 20
UPDATE................................................................................................................................. 20
DELETE.................................................................................................................................. 20
DROP..................................................................................................................................... 21
SELECT.................................................................................................................................. 21
DISTINCT............................................................................................................................... 21
NULL...................................................................................................................................... 21
TABEL ALIASSEN.................................................................................................................... 21
KOLOM ALIASSEN.................................................................................................................. 21
INNER JOIN............................................................................................................................ 22
INNER JOIN OP MEER DAN 2 TABELLEN................................................................................. 22
LEFT JOIN............................................................................................................................... 22
AUTO JOIN: RECURSIEVE VERWIJZING................................................................................... 23
CONCATENATIE IN MYSQL..................................................................................................... 23
ORDER BY.............................................................................................................................. 23
VERFIJND ORDENEN.............................................................................................................. 23
STATISTISCHE (OF AGGREGATIE) FUNCTIES..........................................................................24
COUNT, MAX, MIN, SUM........................................................................................................ 24
AVERAGE AVG()..................................................................................................................... 24
GROUPING FUNTION.............................................................................................................. 25
HAVING: VOORWAARDE AAN GROEP..................................................................................... 25
GROUP BY meer dan een column.......................................................................................... 25
VOLGORDE: STAP VOOR STAP............................................................................................... 25
DISTINCT EN COUNT SAMEN................................................................................................. 26
LIMIT / FIRST.......................................................................................................................... 26
LIKE....................................................................................................................................... 26
WILDCARD CHARACTERS...................................................................................................... 26
IN.......................................................................................................................................... 26
BETWEEN.............................................................................................................................. 26
UPPERCASE UCASE()............................................................................................................. 27
3
,LOWERCASE LCASE()............................................................................................................. 27
MID()..................................................................................................................................... 27
LENGTH................................................................................................................................. 27
ROUND()................................................................................................................................ 27
NOW()................................................................................................................................... 27
Voorbeeldopdrachten van de presentatie.............................................................................28
4
,Niet-SQL gedeelte
RELATIONELE DATABASE
Database • verzameling opgeslagen gegevens
Relationeel • gegevens zijn vastgelegd in de vorm van relaties (tabellen)
THE RELATIONAL MODEL
• Introduced in 1970
• Created by E.F. Codd − He was an IBM engineer
− The model used mathematics known as “relational algebra”
• Now the standard model for commercial DBMS products
RELATIE (WISKUNDIG) – TABEL (DATABASES)
• Een relatie is een verzameling rijen
• De volgorde van de rijen is niet van belang
• Er mogen geen identieke rijen voorkomen
• De term tabel wordt bij databases gebruikt als synoniem voor relatie
Rij: gegevens van één object
Kolom: gegevens van dezelfde soort
PRIMARY KEY (PRIMAIRE SLEUTEL)
• Een primary key is een kolom of kolomcombinatie die gebruikt wordt om een rij uniek te
identificeren (zie hierboven, de primary key zou daar student zijn)
• Voor een primary key geldt: hij is verplicht (totaliteitsregel)
• hij is uniek (uniciteitsregel)
• hij is zo ’smal’ mogelijk gekozen (minimaliteitseis)
− Elke tabel heeft precies één primary key
− Deze primary key mag samengesteld zijn
− De ideale primary key is kort, numeriek en wijzigt niet
COMPOSITE KEY (SAMENGESTELDE SLEUTEL)
• Een composite key is een sleutel die bestaat uit twee of meer kolommen.
CANDIDATE KEY (KANDIDAATSLEUTEL)
Een candidate key is een kolom of kolomcombinatie die een rij uniek identificeert.
• Één van de candidate keys wordt geselecteerd als primary key
5
,SURROGATE KEY (SURROGAATSLEUTEL)
• Een surrogate key is een kunstmatige kolom die aan een tabel wordt toegevoegd om als
primaire sleutel te fungeren:
− Wordt gebruikt als kandidaatsleutels groot of onhandig zijn
− Kort, numeriek en wijzigt niet (de ideale primary key!)
− Toegekend door het DBMS
− Kunstmatige waarden zonder betekenis voor de gebruikers
− Wordt meestal verborgen in applicaties en overzichten
− Een surrogate key set je als een integer, en op auto increment, de DBMS maakt dan telkens
automatisch een opvolgend nieuw nummer als surrogate key aan als een nieuwe rij wordt
toegevoegd.
FOREIGN KEY
• Een foreign key geeft een relatie weer tussen tabellen
− Een foreign key verwijst naar de bestaande primary key van een andere tabel
(referentiële integriteitsregel)
− Een foreign key kan uit één kolom bestaan of samengesteld zijn
− Nederlandse term: vreemde sleutel, verwijssleutel, externe sleutel
• tabel met foreign key heet Child table
• tabel waarheen wordt verwezen heet Parent table
TUSSENTABEL
• Tabel die een veel op veel relatie vastlegt
• Kolommen zijn tevens verwijzende sleutel + er kunnen nog extra kolommen bij staan.
• Engelse benaming: Junction / Linking table
HOE ONTSTAAN DATABASES?
Conceptueel datamodel: entiteit-relatiediagram
Databaseontwerp: tabellen en sleutels
Database-implementatie: database gecreëerd in DBMS
WAT IS EEN DATAMODEL?
• Een model van de werkelijkheid zoals de gebruiker die ziet
• gegevens en relaties tussen gegevens
• Een bouwplan of een blauwdruk voor een databaseontwerp
Entiteit-Relatiediagram
6
,ENTITEITTYPE
Representatie van een fundamenteel belang voor een organisatie
Iets waarover de gebruiker gegevens wil vastleggen
• Object (bijvoorbeeld Artikel, Vak, Boek)
• Plaats (bijvoorbeeld: Vestiging, Locatie, Land)
• Persoon (bijvoorbeeld: Klant, Student, Werknemer)
• Gebeurtenis (bijvoorbeeld: Inschrijving, Bestelling, Deelname)
Naamgeving:
• enkelvoud
• begint met een Hoofdletter
ATTRIBUTEN
De kenmerken van een entiteittype
Beschrijven de eigenschappen van een entiteit
Een eigenschap kan op te splitsen zijn in betekenisvolle onderdelen
• Voorbeeld: naam te splitsen in voorletters, tussenvoegsel, achternaam
Naamgeving:
• enkelvoud
IDENTIFIERS
• Attributen die een entiteit uniek identificeren
• Bestaat uit één of meer attributen van een entiteit
• Notatie: onderstreept
RELATIES
Geven een verband tussen twee entiteiten weer
Maak per relatie twee zinnen:
• Elke zin formuleren gezien vanuit één entiteit naar de gerelateerde entiteit
• In elke zin minimumkardinaliteit en maximumkardinaliteit aangeven door gebruik van nul of
meer, één of meer, nul of één, precies één
• De foreign key komt aan de “meer” kant terecht.
Geef elke relatie een zinvolle beschrijving
Een docent begeleidt 0 of meer studenten (optioneel)
Een student wordt begeleid door precies 1 docent (verplicht)
ERD STAPPENPLAN
Stap 1 Selecteer voorbeelden uit de werkelijkheid
Stap 2 Leg uit in natuurlijke taal
Stap 3 Bepaal entiteittypes
Stap 4 Bepaal attributen en identifiers
Stap 5 Bepaal relaties
Stap 6 Check, recheck, dubbelcheck
7
, STAP 1: SELECTEER VOORBEELDEN UIT DE WERKELIJKHEID
STAP 2: LEG UIT IN NATUURLIJKE TAAL
Doel:
− Analyseren van de voorbeelden
− De betekenis van de voorbeelden eenduidig beschrijven
• Van elk boek worden de titel en ISBN vastgelegd
• Van elk boek worden de voorletters en achternaam van de auteur(s) vastgelegd
• Van elk boek worden de naam en vestigingsplaats van de uitgever vastgelegd
• Ook uitgevers, waarvan de bibliotheek geen boeken heeft, kunnen worden vastgelegd
• Van elk boek wordt de doelgroep vastgelegd
• Ieder exemplaar van een boek krijgt een exemplaarnummer en jaar van uitgifte
• Van een boek kunnen meerdere exemplaren in de bibliotheek aanwezig zijn
STAP 3: BEPAAL ENTITEITTYPES
Entiteittypes: • Welke ‘dingen’ zie je hier?
• Over welke objecten wil de gebruiker gegevens bijhouden?
Auteur, Boek, Uitgever en Exemplaar
STAP 4: BEPAAL ATTRIBUTEN EN IDENTIFIERS
Welke attributen per entiteittype? Welke identifiers?
8
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller hboicthva. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.93. You're not tied to anything after your purchase.