* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download databaseR - File Storage
Oracle Database wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Microsoft Access wikipedia , lookup
Concurrency control wikipedia , lookup
Relational algebra wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Ingres (database) wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
ContactPoint wikipedia , lookup
Clusterpoint wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Relational Databases What Is A Relational Database? Created by Dr. E.F. Codd A database is a collection of tables and other “objects” that are related and collectively describe an entity. Other objects are forms, queries, reports, modules. Advantages Of Database Store data only once - lower cost Reduces errors Eliminate data redundancy Avoid duplicate processing Simplify maintenance Centralize data management & security Advantages Of Database Offer greater flexibility Simplify report modifications and updates Provide ad-hoc query capabilities Cross functional data analysis Permits multiple use and simultaneous data analysis Disadvantages Of Database Systems Increased costs (usually offset by savings) Hardware requirements The software itself Database administrator Disadvantages Of Database Systems Centralized management and security control System operation becomes critical Errors in data entry effects all users Potential disputes over data ownership Tables Fundamental storage structures for data Tables are sometimes called files Looks like a spreadsheet Consist of rows (TUPLES) which are the equivalent of a record and columns (ATTRIBUTES) which are the equivalent of a field Table Terms Primary key - An attribute (column) that uniquely identifies a given row so the system can distinguish each record of a table PRIMARY KEYS CAN’T BE NULL! Foreign key - An attribute (column) in one table that must match the primary key in another table. Used to join tables together. Composite (concatenated) key - A primary key that consists of more than a single column. Table Rules No duplicate tables No duplicate rows or columns in table Sequence of rows/columns doesn’t matter Each table must have a primary key The primary key CANNOT be null Each table is about ONE concept Joining Tables Customer ID Company Name Contact Invoice ID Invoice Date Order Date Invoice ID Inventory ID Inventory ID Quantity Item ID Caffeinated Phone Number Customer ID Employee ID Customer PO Unit Price Discount Price On Hand Credit Limit One-to-One Relationships Only one matching record Uses primary key for both tables Use to limit access to information 11 One-to-One Relationships (cont.) 12 One-to-Many Relationships Most common type of relationship Related between primary and foreign keys Can have many related records Referential integrity prevents orphaned records 13 One-to-Many Relationships (cont.) 14 Many-to-Many Relationships One order, many products One product, many orders Not directly supported between tables Use an Intersection table to relate 15 Many-to-Many Relationships (cont.) 16 Relational Database Design Relationships and Referential Integrity Create relationships between the tables Set referential integrity 17 Queries Allows you to ask questions about your data examples: How many employees earn more than $40,000? Which customer invoices are more than 60 days old ? SQL (structured query language pronounced seequel) is the underlying “how” of making queries of databases Queries Access does Queries by using QBE or SQL. QBE makes it easy to pick up simple queries, but becoming accomplished enough to write more complex queries takes much time and effort. Queries Queries are where the real POWER of a database lies Relationships between tables must be properly established in order for queries to work correctly in QBE Forms Shows data from a table in a format that is more attractive and easier to understand Access forms can be made to resemble paper forms that users are already familiar with Forms are commonly used to input, display, or change data Reports Hard copy of output of information contained in the database We often create reports that are the result of queries we made Access allows you to create board room quality reports Modules Visual Basic for Application code that can executed at the click of a button or when a form is opened. They are useful in developing more sophisticated internal controls into an Access based information system. REVIEW TABLE RULES No duplicate tables No duplicate rows or columns in table Sequence of rows/columns doesn’t matter Each table must have a primary key The primary key CANNOT be null Each table is about ONE concept DATABASE NORMALIZATION Database normalization is the process of ensuring that each table contains data about only ONE concept. REPEATING GROUPS AND NORMALIZATION TO FIRST NORMAL FORM (1NF) SALES-INFORMATION Invoice# Date Customer# Salesperson Region Item# Description Price Quantity 1001 1002 1003 7/1/92 7/1/92 7/1/92 456 329 897 John Mary Al West East West 121 348 540 Widget Gear Bolt $2.25 $3.70 $0.40 45 10 5 INVOICE-ITEMS (1NF) Invoice# Item# INVOICES (2NF) Invoice# Date Customer# Salesperson Region Description Price Quantity WHAT IS THE PROBLEM WITH DESCRIPTION/PRICE? Insert anomalies Delete anomalies Update anomalies DECOMPOSITION OF A FIRST-NORMAL-FORM (1NF) TABLE INVOICE-ITEMS (1NF) Invoice# Item# Description INVOICE-ITEMS-QTY (2NF) Invoice# Item# Price Quantity ITEMS (2NF) Item# Description Price Quantity You can only have a 2nd Normal Form problem if there is a composite primary Key DATABASE NORMALIZATION Functional dependency is key in understanding the process of normalization. Functional dependency means that if there is only one possible value of Y for every value of X, then Y is functionally dependent on X. DATABASE NORMALIZATION Think of an invoice table. Two fields would be invoice # and date. Which field is functionally dependent on the other? INVOICE # DATE Date is functionally dependent on invoice number. Functional Dependency is “good”. With functional dependency the primary key (Attribute A) determines the value of all the other non-key attributes (Attributes B,C,D,etc.) Transitive dependency is “bad”. Transitive dependency exists if the primary key (Attribute A) determines non-key Attribute B, and Attribute B determines non-key Attribute C. DECOMPOSITION OF A SECOND-NORMAL-FORM (2NF) TABLE SALES (2NF) Invoice# Date Customer# Salesperson Region This is a transitive dependency which must be eliminated for 3NF INVOICES (3NF) Invoice# Date SALESPERSON-REGION (3NF) Customer# Salesperson Salesperson Region SUMMARY OF 3NF RELATIONS FOR SALES DATABASE SALESPERSON-REGION (3NF) INVOICES (3NF) Invoice# Date Customer# Salesperson Salesperson Region 1001 1002 1003 7/1/92 7/1/92 7/1/92 456 329 897 John Mary Al John Mary Al West East West INVOICE-ITEMS-QTY (3NF) ITEMS (3NF) Invoice# Item# Quantity Item# Description Price 1001 1002 1003 121 348 540 45 10 5 121 348 540 Widget Gear Bolt $2.25 $3.70 $0.40