2Computer Science 6360:Database Design• Instructor: Weili Wu• Email: [email protected]• (972) 883-2194• Office Hours: Wednesday 3:45pm – 5:00pm Online• Class web page: http://www.utdallas.edu/~weiliwu/CS6360_S2022/CS6360_S2022.htm (available on eLearning) • Assignments due on Mondays• T.A. – TBD• Prerequisite: CS5343 Algorithm Analysis and Data Structure3TextbooksRequired:• Elmasri and Navathe, Fundamentals of Database Systems, 6th Edition, Addison Wesley, ISBN 10: 0-136-08620-9; ISBN 13: 978-0-136-08620-8.4Grading• Assignments: – 1 @ 3% , [email protected]%, [email protected]% = 15% of grade.• Project: 15%• Midterm: – 30% of grade.• Final: – 40% of grade.• Conditions for passing the class:– Submit all HWs and Project.– Scoring >= 50% on final exam5Assignments Submission• Submission Policy:– HWs must be submitted via eLearning on specified due date (Mondays of designated weeks).– The project must be submitted via eLearning on due date.– Late hws also should be submitted via eLearning (postscript, pdf, text or MS Word doc files).– Late HWs penalty:• 1 day -- 30% will be deducted• 2 days – 70% will be deducted (count weekend days)• >=3 days – no credit6Comment• This class is very interesting and useful.• work regularly • Good luck7• Schedule– View the candidate course schedule on course syllabus and eLearning – Check update via eLaening8Overview of Databases and Basic ConceptsChapter 1, 29What is a Database?• Collection of data central to some enterprise– Data: Known facts that can be recorded and have an implicit meaning.• Essential to operation of enterprise– Contains the only record of enterprise activity• An asset in its own right– Historical data can guide enterprise strategy– Of interest to other enterprises• Database is persistent• Mini-world: – Some part of the real world about which data is stored in a database. For example, student grades and transcripts at a university.10What is a Database Management System?• A Database Management System (DBMS) is a program/software package that manages a database:– Supports a high-level access language (e.g.SQL).– Application describes database accesses using that language.– DBMS interprets statements of language to perform requested database access.11What is a Database Management System? (Cont.)• Supports concurrent access to very large amounts of data.– Example: bank and its ATM machines.• Supports secure, atomic access to very large amounts of data.– Contrast two people editing the same UNIX file– with the problem if two people deduct money from the same account via ATM machines at the same time– new balance is wrong whichever writes last.12Database System• The DBMS software together with the data itself. Sometimes, the applications are also included.13The DBMS Marketplace• Relational DBMS companies – Oracle, Sybase – are among the largest software companies in the world.• IBM offers its relational DB2 system. With IMS, a nonrelational system, IBM is by some accounts the largest DBMS vendor in the world.• Microsoft offers SQL-Server, plus Microsoft Access for the cheap DBMS on the desktop, answered by “lite” systems from other competitors.• Relational companies also challenged by “object-oriented DB” companies.• But countered with “object-relational” systems, which retain the relational core while allowing type extension as in OO systems.14An Example of Database• Mini-world for the example: – Part of a UNIVERSITY environment.• Some mini-world entities:– STUDENTs (ID, Name, SecId, CourseNum, …)– COURSEs– SECTIONs (of COURSEs)– DEPARTMENTs– INSTRUCTORs15• Some mini-world relationships:– SECTIONs are of specific COURSEs– STUDENTs take SECTIONs– COURSEs have prerequisite COURSEs– INSTRUCTORs teach SECTIONs– COURSEs are offered by DEPARTMENTs– STUDENTs major in DEPARTMENTs• The above could be expressed in the ENTITY-RELATIONSHIP (ER) data model1617Benefits of Using DBMS• Controlling redundancy in data storage and in development and maintenance efforts.• Sharing of data among multiple users. • Restricting unauthorized access to data.• Providing multiple interfaces to different classes of users.• Representing complex relationships among data.• Enforcing integrity constraints on the database.• Providing backup and recovery services.18Benefits of Using DBMS(cont.)• Potential for enforcing standards • Flexibility to change data structures.• Reduced application development time.• Availability of up-to-date information.• Economies of scale.1920When not to use a DBMS• Main costs of using a DBMS: – High initial investment and possible need for additional hardware.– Overhead for providing generality, security, recovery, integrity, and concurrency control .• When a DBMS may be unnecessary:– simple, well defined, and not expected to change – If access to data by multiple users is not required • When no DBMS may suffice:– DB system can not handle the complexity of data – Not support special operations21Three Aspects to Studying DBMS's1. Modeling and design of databases.– Allows exploration of issues before committing to an implementation.2. Programming: queries and DB operations like update.– SQL = “intergalactic data speak.”3. DBMS implementation.- Query processing and optimization- Transaction- Concurrency control22Main Characteristics of Database Technology• Self-contained nature of a db system: A DBMS catalog stores the description of the database. The description is called meta-data). This allows the DBMS software to work with different databases.• Insulation between programs and data: Called program-data independence. Allows changing data storage structures and operations without having to change the DBMS access programs.• Data Abstraction: A data model is used to hide storage details and present the users with a conceptual view of the database.• Support of multiple views of the data: Each user may see a different view of the database, which describes only the data of interest to that user.– Virtual data (not actual stored)• Sharing of data and multiuser transX processing:Concurrency control2324Data Model• Data Model: – A set of concepts to describe the structure of a database– certain constraints, data types, relationships that the database should obey– Provides abstraction• Hide low level storage details• Data
View Full Document