database
DESCRIPTION
TRANSCRIPT
![Page 1: Database](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/9.jpg)
Relationships
![Page 10: Database](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/13.jpg)
Entity Relationship Diagrams
![Page 14: Database](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/14.jpg)
E-R Diagrams
Taken from www.smartdraw.com/tutorials/software/erd
![Page 15: Database](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/15.jpg)
E-R Diagrams
Taken from www.smartdraw.com/tutorials/software/erd
![Page 16: Database](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/16.jpg)
E-R Diagrams
Taken from www.smartdraw.com/tutorials/software/erd
![Page 17: Database](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022061110/5452f80caf7959af088b62a6/html5/thumbnails/23.jpg)
In-Class Exercise
Work on the design of a University database system designed to track student, faculty, course, classes, degrees, and grades.