* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download No Slide Title
Expense and cost recovery system (ECRS) wikipedia , lookup
Business intelligence wikipedia , lookup
Serializability wikipedia , lookup
Microsoft Access wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Data vault modeling wikipedia , lookup
Oracle Database wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Concurrency control wikipedia , lookup
Versant Object Database wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Clusterpoint wikipedia , lookup
Informatiesystemen in de Bouw 7M711 Week 3 Joran Jessurun en Jos van Leeuwen Database • A database is a collection of data. • Databases can be stored in one or more files, or can be managed by a software system called Database Management System (DBMS) What makes a database • • • • • Add Data Delete Data Change Data Lookup or search for data Organize Data Key Terminology • • • • Table Column Record Field • Primary Key • Foreign Key Types of databases • Flat databases • Index databases • DBMS based databases DBMS Services • • • • Schemas Consistency checks Guarantee of no data corruption after crash Concurrent access for multiple readers and writers. • Backup and recovery • Authentication and access control • Support for Structured Query Language (SQL) DBMS Flavors • From relational • To object oriented DBMS Systems • • • • Oracle Sybase Microsoft SQL Server MySQL Paradox • Indexed Database • Every table is contained in a *.DB file • The primary key is indexed in a *.PX file • Accessed trough the Borland Database Engine Borland Database Engine • Database independent • Adds services for flat and indexed database access • Used by Delphi • Makes use of Aliases • Like Microsoft’s ADO components UML Profile for Database Design • Rational Software Corporation • For designing databases • Uses tagged parameters and stereotypes • Only a subset will be explained Database Diagram Elements • • • • • • Table Column Primary key Foreign key Identifying relationship Non-identifying relationship Database Diagram Elements (2) Table (stereotype <<table>>) Not used Not used Primary key (stereotype <<pk>>) Foreign key (stereotype <<fk>>) Primary/Foreign key (stereotype <<pk/fk>>) Non-identifying relationship Identifying relationship Example 1 Mapping Logical Design To Database Design • Synchronization • • • • • Classes > Tables Attributes > Columns Associations > Relations Normalization There are more ways to do it Mapping Classes To Tables • Map persisted classes to tables • Many to many associations must be broken down to one to many associations using an association table. «table» Class1 «pk» +Class1ID «table» Class2 «pk» +Class2ID 1 1 * «table» Association Class «pk/fk» +Class1ID «pk/fk» +Class2ID * Mapping Subtype Classes to Tables • One table per class • One table per concrete class • One table per hierarchy Mapping Attributes to Columns • Map persistent attributes • Don’t map calculated attributes • Can use Generic Types first, later use database specific types. Generic Types: Boolean, Currency, Date, Double, Integer, Long, Single, String Example 2 Database Desktop • Create and fill tables • Execute database queries • Build on BDE Database Desktop Example «table» Book «pk» +ISBN +Title +Description * 1 «table» LibraryBook «pk» +BookID «fk» +ISBN +Count 1 * «table» Client «pk» +ClientID +Name +Adres 1 * «table» BookClient «pk/fk» +ClientID «pk/fk» +BookID +Lend +Days