Stunde10-dpm.ink Wart.-firma Lösung der Hausaufgabe Wartung Relation Busunternehmen - Fahrtnr Wart.-Datum - Busnr N Mangel - Herstellerfirma - Anzahl Plätze im Bus Gehalt - Erstzulassung Bus gebuchte hat - Anschaffungspreis Plätze Name - Wartungsdatum Bus - Wartungsfirma Anzahl Vorname Abfahrtszeit 1 - Behobener Mangel Plätze Busnr - Abfahrtsdatum - Abfahrtszeit Fahrer N Bus Fahrernr fährt - Name Fahrer N - Vorname Fahrer - Fahrernr ErstPLZ - PLZ Fahrer zulassung Strasse - Strasse Fahrer Herstellerfirma Abfahrts- Gehalt Fahrer datum - Gebuchte Plätze pro Fahrt AnschaffFahrtnr preis 1 Stunde10-dpm.ink Relationen für Übungsaufgabe - Fahrer (PK_Fahrernr, Name, Vorname, Gehalt, PLZ, Strasse) - Fahrt(PK_Fahrtnr, gebuchtePlätze, Abfahrtsdatum, Abfahrtszeit, FK_Busnr, FK_Fahrer) - Bus(PK_Busnr, Herstellerfirma, AnzahlPlätze, Erstzulassung, Anschaffpreis) - Wartung(Wartungsfirma, Wartungsdatum, BehobenerMangel, FK_Busnr, PK_Wartnr) SQL Structured Query Language SQL ist eine datenbankunabhängige, standardisierte Sprache, um - Datensätze anzulegen, zu ändern, zu löschen (Data Manipulation Language DML) - Datenbanken und Tabellen (und Indices) zu erstellen, zu ändern, zu löschen (Data Definition Language DDL) - Daten abzufragen (Data Query Language DQL) - Benutzer anzulegen und Berechtigungen zu vergeben (Data Control Language DCL) Datenbanken - Oracle - DB2 - Approach - mySQL (kostenfrei) - MAXDB (kostenfrei) - MS Access - MS SQLServer 2 Stunde10-dpm.ink DDL: Datenbanken Anlegen von Datenbanken CREATE DATABASE <datenbankname>; (geschieht in Access manuell) Anzeigen aller Datenbanken SHOW DATABASES Löschen von Datenbanken DROP DATABASE <datenbankname> DDL: Tabellen Anlegen einer Tabelle CREATE TABLE <tabellenname> (<spaltenname1> <datentyp1>, ... <spaltenname_n> <datentyp_n>); s. nächste Seite "Exkurs Datentypen" z.B. CREATE TABLE Fahrer (fahrernr INTEGER, name VARCHAR(64), vorname VARCHAR (64), gehalt DECIMAL (8,2), geburtsdatum DATE); 3 Stunde10-dpm.ink Exkurs Datentypen Ganzzahlen - INTEGER (4 Byte) - SMALLINT (2 Byte -32768, ... 32767) Festkommazahlen - DECIMAL (<präzision>, <nachkommastellen>) z.B. DECIMAL (8,3) Zahl mit 5 Vorkomma- und 3 Nachkommastellen Gleitkommazahlen/Fließkommazahlen - FLOAT (4 Byte, 7 signifikante Stellen) - DOUBLE (8 Byte, 15 signifikante Stellen) Text/Zeichenketten - CHAR (<anzahlzeichen>) z.B. CHAR(32) - VARCHAR (<maxanzahlzeichen>) z.B. VARCHAR (64) Datum - DATE - TIMESTAMP Sehr große Objekte (Memo) - BLOB (binary large objects) Bewertungen: www.meinprof.de Hausaufgabe CJ: Programm, um SQL Statements auszuführen 4