Database

23
What is a “Database” • A Database is a collection of related data. – Facts that can be recorded and have specific meaning. – Represents some aspect of the real world. – A database is a logically coherent collection of data. Random assortment of data cannot be construed as a database. – A database is designed, built, and populated for a specific purpose.

description

 

Transcript of Database

Page 1: Database

What is a “Database”

• A Database is a collection of related data. – Facts that can be recorded and have specific

meaning. – Represents some aspect of the real world.– A database is a logically coherent collection of

data. Random assortment of data cannot be construed as a database.

– A database is designed, built, and populated for a specific purpose.

Page 2: Database

What is a Database Management System (DBMS or DMS)

• A general purpose software system that facilitates the definition, storing, manipulating, security, organization, retrieval, and sharing of data in a database.

• The descriptive information about a database is called meta-data.

• To interact with a DBMS you must issue transactions.

Page 3: Database

Types of Database Management Systems

• Hierarchical• Network• Relational• Object Oriented• XML• Experimental models such as Spatial-Temporal

Note: We will concentrate on Relational

Page 4: Database

Relational Database

• Characterized by data being arranged to appear as a table of data with rows and columns.

• Each column has a unique meaning, name, and data type. • Each Row must have one or more columns. • A Database must have one or more related tables. • There may be several database instances on one machine. • How the data is physically organized and stored on the

machine is hidden from the programmer and user.

Page 5: Database

Definitions

• Attribute: A single data item related to a database. AKA Field, column

• Candidate Key: A field or group of fields that a could be a primary key.

• Cursor: The specific record or tuple in a table or view that the database is currently pointing to.

• Data Mining: Automated data analysis techniques used to uncover previously undetected relationships or information.

Page 6: Database

Other Definitions

• Domain: The set of allowed values for an attribute. • Entity: A single object about which data can be

stored in a database table. Examples: Person, specimen, or location.

• ER Diagram: A graph that shows the tables and the relationships between each one.

• Foreign Key: An attribute(s) in a table that is a primary key in another table.

Page 7: Database

Other Definitions

• Functional Dependency: When one attribute is related to another. Usually uni-directional. Examples: Social Security Number -> Name.

• Join: The operation of putting the information in multiple tables together in one.

• Normalization: The operation if reducing the amount of redundant information in a database.

• SQL: The Structured Query Language standard.

Page 8: Database

Other Definitions

• Tuple: A row or record.• View: A view is a “virtual table” that is

generated on the fly when the view is accessed. The view is generally created using a pre-defined transaction. Example: You may want to generate a table of personnel without privacy information and with information from other tables includes such as zip code, city, state.

Page 9: Database

Relationships

Page 10: Database

Database Design

• Define the purpose of the Database • Gather requirements • Gather data items based upon requirements (In other words,

what data will be needed to satisfy the requirements for data storage, retrieval and reporting). – Name each attribute using standard naming conventions. See if there

exist standards for the particular area. Example: Darwin Core Standard for biological information systems.

– Define the attribute of each data item. – Define range of data values. – Define compatibility checks on the data.

Page 11: Database

Database Design (cont)

• Group related data items into an entity or an object. (examples: person, class, organization)

• Take an entity and define the physical tables. • Normalize Tables:

– 1st Normal Form: Each attribute must be autonomous and there must not be any repeating groups.

– 2nd Normal Form: Is in 1NF and Only attributes allowed that are directly related to the Primary Key.

– 3rd Normal Form: 2NF and there are no transitive dependencies.

Note: Most databases seldom go beyond 3NF.

Page 12: Database

Database Design (cont)

• Create any additional tables needed to support the requirements. – Attribute look up ( Examples: specimen sex, form etc. – Cross reference tables needed for normalization.

• Create Views. • Create indexes. • Decide on visibility of tables and data along with

security features. • Create backup and logging strategy.

Page 13: Database

Entity Relationship Diagrams

Page 14: Database

E-R Diagrams

Taken from www.smartdraw.com/tutorials/software/erd

Page 15: Database

E-R Diagrams

Taken from www.smartdraw.com/tutorials/software/erd

Page 16: Database

E-R Diagrams

Taken from www.smartdraw.com/tutorials/software/erd

Page 17: Database

Example# Database: morphbank#-----------------------------------------------------------# server version 4.1.1a-alpha-max-degug DROP TABLE species;DROP TABLE classification;DROP TABLE specimen;DROP TABLE image;DROP TABLE viewtable;DROP TABLE imageannotation;DROP TABLE phylogeneticcharacter;DROP TABLE phylogeneticcharacterset;DROP TABLE phylogeneticcharacterstatetable;DROP TABLE publicationtable;DROP TABLE usertable; DROP TABLE grouptable;

Page 18: Database

Example

## Table structure for table 'species'#CREATE TABLE species( SpeciesID int(8) NOT NULL auto_increment, GenusID int(32) NOT NULL, FamilyName varchar(128) NOT NULL, GenusName varchar(128) NOT NULL, Variety varchar(128), SpeciesEpithet varchar(128), SpeciesNameAuthors varchar (128), SpeciesDescribedYear char(4), DateIdentified date DEFAULT '0000-00-00', IdentifiedBy varchar(128) NOT NULL, PRIMARY KEY (SpeciesID));

Page 19: Database

Example# Table Structure for table 'classification' CREATE TABLE classification( GenusID int(32) NOT NULL auto_increment, GenusName varchar(128) NOT NULL, FamilyName varchar(128) NOT NULL, OrderName varchar(128) NOT NULL, ClassName varchar(128), PhylumName varchar(128) NOT NULL, KingdomName varchar(128) NOT NULL, PRIMARY KEY (GenusID));

Page 20: Database

Example## Table structure for table 'specimen'#CREATE TABLE specimen( MorphBankSpecimenID int(32) NOT NULL, SpeciesID int(8) NOT NULL, CatalogNumber int (32) NOT NULL AUTO_INCREMENT, DateLastModified date NOT NULL default '0000-00-00', InstitutionCode varchar(128), CollectionCode varchar(128), ScientificName varchar(128), BasisOfRecord char(1), SubSpecies varchar (128), TypeStatus varchar (255), TypeName varchar (128), CollectionNumber varchar (128),

Page 21: Database

Example FieldNumber varchar (128), CollectorName varchar (128), DateCollected date NOT NULL DEFAULT '0000-00-00', TimeofDate time, ContinentOcean varchar(128), Country varchar(56), StateProvince varchar(56), County varchar(56), Locality varchar(56), Latitude double, Longitude double, CoordinatePrecision int(8), MinimumElevation int(32),

Page 22: Database

Example MaximumElevation int(32), MinimumDepth int(32), MaximumDepth int(32), Sex varchar(8), PreparationType varchar(255), IndividualCount int(32), PreviousCatalogNumber varchar(128), RelationshipType varchar(128), RelatedCatalogItem varchar (128), DevelopmentalStage varchar (128), Notes varchar(255), PRIMARY KEY(CatalogNumber));

Page 23: Database

In-Class Exercise

Work on the design of a University database system designed to track student, faculty, course, classes, degrees, and grades.