280 likes | 420 Views
UML Profile for Databases. 11 November 2010. 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
E N D
UML Profile for Databases 11 November 2010
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 • Index
Database Example (1) Grades
Database Example (2) Grade Student
Types of databases • Flat databases • Indexed 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
Jet Database Engine • Database Engine of MS-Access • Contained in an *.MDB or *.ACCDB File • Accessed trough ADO or DAO • Allows multiuser access • Enforces referential integrity checks
UML Profiles • Way to customize UML diagrams for your own needs. • Stereotypes • Tagged value • Constraints • Graphical representation
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
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.
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
Microsoft Access • Create and fill tables • Execute database queries • Build on the Jet Engine • Visual Basic for Applications • Forms and Reports • IDE