Friday, June 8, 2012

E-R Model Concepts



E-R Model Concepts

Entities
Entities are specific objects or things in the mini-world that are represented in the database

Ex :-a company, a job, or a university course.



What Should an Entity Be?

SHOULD BE:

An object that will have many instances in the database

An object that will be composed of multiple attributes

An object that we are trying to model

SHOULD NOT BE:

A user of the database system

An output of the database system (e.g., a report)


Characteristics of Bad Database


Characteristics of Bad Database

Not satisfy all user requirements

Would contain inconsistent and invalid data

Would require excessive effort to change

Would be slow and clumsy to use for achieving a desired outcome.

When trying to decide if some choices are better than others, you need to consider the key desirable properties of a database.

Classification of DBMSs


Classification of DBMSs

Based on the data model used:

Traditional: Relational, Network, Hierarchical.

Emerging: Object-oriented, Object-relational.

Other classifications:

Single-user (typically used with micro-computers)vs. multi-user (most DBMSs).

Centralized (uses a single computer with one database)vs. distributed (uses multiple computers, multiple databases)

Classification of DBMSs

Distributed Database Systems have now come to be known as client server based database systems because they do not support a totally distributed environment, but rather a set of database

Two Tier Client-Server Architecture-Three Tier Client-Server Architecture


Two Tier Client-Server Architecture

User Interface Programs and Application Programs run on the client side

Interface called ODBC (Open Database Connectivity ) provides an Application program interface (API) allow client side programs to call the DBMS. Most DBMS vendors provide ODBC drivers.

A client program may connect to several DBMSs.

Other variations of clients are possible: e.g., in some DBMSs, more functionality is transferred to clients including data dictionary functions, optimization and recovery across multiple servers, etc.

In such situations the server may be called the Data Server.

Three Tier Client-Server Architecture

Common for Web applications

Intermediate Layer called Application Server or Web Server:

stores the web connectivity software and the rules and business logic (constraints) part of the application used to access the right amount of data from the database server

acts like a conduit for sending partially processed data between the database server and the client.

Additional Features- Security:

encrypt the data at the server before transmission

decrypt data at the client

Other Tools


Other Tools


Data dictionary / repository

Used to store schema descriptions and other information such as design decisions, application program descriptions, user information, usage standards, etc.

Active data dictionary is accessed by DBMS software and users/DBA.

Passive data dictionary is accessed by users/DBA only.

Application Development Environments and CASE (computer-aided software engineering) tools:

Examples –Power builder (Sybase), Builder (Borland)

communications software


function is to allow users at locations remote from the database system site to access the database through computer terminals, workstations, or their local personal computers.

Database System Utilities


Database System Utilities

To perform certain functions such as:

Loading data stored in files into a database. Includes data conversion tools.

Backing up the database periodically on tape.

Reorganizing database file structures.

Report generation utilities.

Performance monitoring utilities.

Other functions, such as sorting, user monitoring, data compression, etc.

DBMS Interfaces


DBMS Interfaces


Menu-Based Interfaces for Browsing :- These interfaces present the user with lists of options, called menus, that lead the user through the formulation of a request .

Forms-Based Interfaces :- A forms-based interface displays a form to each user. Users can fill out all of the form entries to insert new data, or they fill out only certain entries, in which case the DBMS will retrieve matching data for the remaining entries.

Graphical User Interfaces :- A graphical interface (GUI) typically displays a schema to the user in diagrammatic form. The user can then specify a query by manipulating the diagram. In many cases, GUIs utilize both menus and forms.

Natural Language Interfaces :- These interfaces accept requests written in English or some other language and attempt to "understand" them.

Interfaces for Parametric Users :- Parametric users, such as bank tellers, often have a small set of operations that they must perform repeatedly.