heute Datenbankentwurf: SQL = structured query language, wird unterteilt in DDL (Data definition) und DML (data manipulation) Secret server = sql server Für stored procedures ist immer noch Programmierung nötig. (Oracle PL/SQL, Informix SPL, Microsoft VBA [Visual Basic for Applications]). Transaktionsprinzip: ganz oder gar nicht (atomarisierung). Datawarehouse: verdichtete Daten, Datenformate können angeglichen werden, geht auch über einen größeren Zeitraum. Datadictionary einer DB: enthält Beschreibun der tabellen. DB-Sicherheit: Datenschutz (gegen Hacker etc.) Datensicherheit (Schutz vor technioschen Problemen), Datensicherung (auf Band), Rekonstruierbarkeit. Z.B. L1-Sicherung = Vollsicherung 1 mal pro Monat L2-Sicherung = Änderungen seit L1 jede Woche L3-Sicherung = Änderungen seit L2 jeden Tag zusätzlich Protokollierung, damit ist der aktuelle Stand jederzeit wieder herstellbar. Hash: Verteilt Daten auf verschiedene Klassen, dann müssen nur diese durchsucht werden. (besser: Index). Datenbankerstellung mit SQL (statt mit dem interaktiven Modus) hat den Vorteil, dass später genau nachvollziehbar ist, was gemacht wurde, und Änderungen/Ergänzungen relativ leicht zu realisieren sind. Sinn einer Datenbank: Information und Dokumentation. Form der Datenbank möglichst leicht maschinenlesbar (etwa scannen). Wichtig: Scalierbarkeit der DB (Baukastenprinzip). Sollte leicht administrierbar sein (nutzer anlegen etc.). Konsistenz = logische Widderspruchsfreiheit (möglichst keine Redundanz). INtegrität der DB = Konsistenz & formate Korrektheit. Früher waren Datenbanken problemorientiert, neuerdings mehr datenorientiert, anlehnung an oo. 3-Ebenen Konzept (Kapselung): Externe Konzeptionelles interne Schemata DB-Modell DB-Modelle Application Betriebsinterne Namenskonventionen Namenskonvention Der Nutzer bekommt die unterste Schicht (interne DB-Modelle) nicht zu sehen. Entity-Relationship-Modell (ERM) Entity = Das seiende, Objekt, das unabhängig von anderen Entities (in ener DB) existieren kann. Jede Entity hat diverse Attribute, die Spalten der Tabellen. () ~ besteht aus [] ~ zusammengesetztes Attribut (z.B. Adresse) {} ~ optionales Attribut (z.B. Fax)