Database Ontwerp
Lesgeld
Introductie tot de cursus Database Ontwerp
De cursus Database Ontwerp begint met een uitgebreide bespreking van de basisarchitectuur van Database Management Systems. Tijdens deze cursus besteden we aandacht aan het Database Schema en de verschillen tussen het conceptuele, logische en fysieke model. We gaan ook in op de rol van SQL, Data Definition Language (DDL) en Data Manipulation Language (DML), wat essentieel is voor een goed begrip van databaseontwerp.
Fasen van Database
Introductie tot de cursus Database Ontwerp
De cursus Database Ontwerp begint met een uitgebreide bespreking van de basisarchitectuur van Database Management Systems. Tijdens deze cursus besteden we aandacht aan het Database Schema en de verschillen tussen het conceptuele, logische en fysieke model. We gaan ook in op de rol van SQL, Data Definition Language (DDL) en Data Manipulation Language (DML), wat essentieel is voor een goed begrip van databaseontwerp.
Fasen van Database Ontwerp
In deze cursus worden de fasen van Database Ontwerp en de verschillende onderdelen van een database grondig besproken. We behandelen hierbij het ERD-model en het UML-model. Daarnaast komen mogelijke designfouten en de toepassing van constraints aan bod, wat cruciaal is voor het creëren van een robuuste database.
ER Modeling in de cursus Database Ontwerp
Tijdens het onderdeel ER Modeling leren deelnemers hoe ze entiteiten en hun relaties kunnen identificeren en deze aan tabellen kunnen toewijzen. We behandelen de principes van Entity Relationship Modeling en bespreken hoe attribuutdomeinen kunnen worden gevonden en gemodelleerd, wat een fundamenteel aspect is van databaseontwerp.
Table Mapping
Vervolgens gaan we in op hoe entiteiten en hun relaties kunnen worden vertaald naar tabellen in een relationele database. We bespreken verschillende mappingstrategieën voor hiërarchieën van entiteiten, zoals table per class, table per hierarchy en het gebruik van discriminator columns, wat belangrijk is voor effectieve database-implementaties.
UML Modeling
Daarnaast besteden we aandacht aan het gebruik van Unified Modeling Language (UML) voor het ontwerpen van databases. De UML-syntax wordt besproken, evenals verschillende UML-elementen zoals interfaces, associations, composition, generalization en dependencies die van belang zijn voor databaseontwerp.
Normalisatie en Optimalisering
Het proces van normalisatie, de verschillende normal forms en het verwijderen van dubbele data worden toegelicht aan de hand van praktische voorbeelden. Tot slot bespreken we verschillende optimalisatietechnieken, zoals het gebruik van indexen, die de snelheid van databases kunnen verbeteren. Deze technieken zijn essentieel voor het optimaliseren van databaseprestaties. Voor meer informatie over databasebeheer, kun je de officiële documentatie van PostgreSQL raadplegen.
Bekijk ook onze cursus over Domain Driven Design voor meer inzichten in het ontwerpen van softwarearchitecturen.
Doelgroep Cursus Database Ontwerp
De cursus Database Ontwerp is bestemd voor Web developers, developers van business applicaties, database administrators, webmasters en web project managers.
Voorkennis Cursus Database Ontwerp
Voor deelname aan de cursus Database Ontwerp zijn geen specifieke vaardigheden of kennis nodig. Algemene kennis van systeem ontwerp is bevorderlijk voor de begripsvorming.
Uitvoering Training Cursus Database Ontwerp
De theorie wordt behandeld aan de hand van presentatie slides. Demos worden gebruikt om de theorie te verduidelijken. Er is voldoende gelegenheid om te oefenen. De cursustijden zijn van 9.30 tot 16.30.
Certificering Database Ontwerp
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Database Ontwerp.
Modules
Module 1 : Intro DBMS
- What is a DBMS?
- DBMS Abstraction Levels
- Data Independence
- Database Model
- Types of Databases
- Database Schema
- Conceptual Model
- Logical Model
- Physical Model
- SQL Language
- DDL and DML Language
- Application Interfaces
- Transactions
- DBMS Architecture
Module 2 : Database Design
- What is Database Design?
- Database Design Phases
- Benefits of Phases
- Conceptual Data Model
- Entity Relationship Model
- UML Model
- Structuring the Model
- Design Errors
- Data Errors
- Constraints
- Database Constraints
- Naming Schema Elements
- Data Interpretation
- CASE Tools
Module 3 : Entity Relationship Modeling
- E-R Model Components
- Identification Guidelines
- Entities versus Entity Classes
- Attributes
- Entities versus Attributes
- Classification of Attributes
- Attribute Domains
- Relationships
- Degree of relationships
- Relationship Cardinalities
- Notation of Cardinalities
- Removing M:N relations
- Requirement Analysis
- Resulting ER Diagram
Module 4 : Advanced Er Modeling
- Weak Entity Set
- Generalization and Specialization
- Design Constraints
- Total and Partial Participation
- Disjoint Constraints
- Overlapping Constraints
- Aggregation
- ER Design Decisions
- Mapping ERD to Tables
- Composite Attributes
- Multivalued Attributes
- Redundancy As Tables
Module 5 : Mapping ERD to Tables
- Entity Set Table Translation
- Relationship Table Translation
- Mapping Key Constraints
- Map Relationship Set to Table
- Combine Relationship and Entity Set
- Weak Entity Sets
- Mapping Weak Entity Sets
- Mapping Subclasses
- Table per Subclass
- Table per Hierarchy
- Discriminator Columns
- Joining Tables
Module 6 : UML Modeling
- What is UML?
- Structural Modeling?
- Core Elements
- Core Relationships
- Structural Diagrams
- Classes and Objects
- Class Diagrams
- Interfaces
- Associations
- Composition
- Generalization
- Dependencies
Module 7: Normalization
- What is Normalization?
- Unnormalized form
- Moving towards 1NF
- First Normal Form
- Moving to 2NF
- Second Normal Form
- Third Normal Form
- Other Normal Forms
- Benefit of Normalization
- Relationship Cross Tables
Module 8: Database Optimization
- Optimization Process
- Use Ranges
- Denormalize
- Denormalization Issues
- Combine Tables
- Store Derived Data
- Add Indexes
- Index Operation
- Sorting
- Clustered Indexes