Database design.

Erhvervskompentencer og Læringsmål

Oversigt over ugen:

Dag Emne
Tirsdag Modellering og normalisering
Onsdag Online møde
Torsdag JDBC og SQL
Fredag Online møde

Resultatet

Efter denne uge har i været igennem følgende:

  1. I har lært hvordan man designer en database med tabeller og relationer, samt datatyper på kolonnerne og “constraints” der hjælper med at sikre data integriteten.
  2. I har lært hvordan man laver CRUD (Create, Read, Update og Delete) operationer på databasen for at manipulere data.
  3. I vil kende til forskellen på DDL: Data Definition Language og DML: Data Manipulation Language.
  4. I vil vide hvordan man man laver et E/R diagram og hvordan omsætter dette til en fysisk data model og til et sql script
  5. I vil have lært en række SQL commandoer til at kunne lave komplekse udtræk af data fra en database med flere sammenkædede tabeller.

Tirsdag: Modellering og normalisering

Læs denne artikel: - Dansk artikel om normalisering

Opgave i normalisering

Onsdag: Video-dag

Se disse to videoer om mange til mange relationer:

  1. Eksempel fra Delfinprojektet
  2. Diverse mange-til-mange eksempler

Torsdag

JDBC og SQL.

Opgaver

Oversigt over resourcer (til opslag og inspiration):

Emne Ressourcer
1: Relationelle databaser og SQL Lynda.com video kursus om MySql: Se kapitel 2-6 + 8, Workbench: Reference materiale til opslag.
2: DML Data Manipulation Language: CRUD operationer - MySQL Tutorial: Grundig online MySql bog som i kan læse i når der er tid.
3: Complex SELECT statements: Inner, Left/Right join - Aggregate functions: AVG, COUNT, MIN , MAX, SUM - Sub queries - Operators: AND, OR, NOT, =, <>, >=, BETWEEN, IN, LIKE with WILDCARDS and ALIAS - ANY vs. ALL - UNION
4: Modelering Domain model udledt fra kravsspecifikationen (Conceptual model)->(Logical model)-> (Physical Database model). Data modeling in workbench, Reverse engineering in workbench.
5: DDL DDL: Data Definition Language - CREATE, DROP, ALTER: Database, Table, View, SQL-constraints: Primary key, Foreign key and MySQL Cascade, NOT NULL, Unique, MYSQL Data types, auto_increment
6: Indexing Indexing
7: NF 3 Normalformer: 1NF, 2NF, 3NF
8: JDBC JDBC: Connection, Statement, PreparedStatement og SQL Injection, ResultSet, Transactions i Mysql og Transactions i java med JDBC.
9: SQL Exceptions SQL Exceptions og hvordan man opsætter og læser error logs (Configurationsfilen ligger på: /etc/mysql/mysql.conf.d/mysqld.cnf og logfilen på sudo tail /var/log/mysql/mysql.log)
10: Backup Backup og Restore database.