280 likes | 433 Views
This document provides an in-depth look at databases, including their definitions, types, and key terminology. It explains how databases store data and the role of Database Management Systems (DBMS) in managing this data. The profile details various services offered by DBMS, such as authentication, backup, and recovery, as well as support for SQL. With a focus on UML profiles for database design, it showcases how to customize UML diagrams and illustrates the mapping between classes and tables, essential for effective database design.
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