Outline � Class Survey IT420: Database Management and Organization � Why Databases (DB)? � A Problem � DB Benefits � In This Class? Dr. Cr � iniceanu � Admin Capt. Balazs � Syllabus www.cs.usna.edu/~adina/teaching/it420/spring2007 � Policy Database Management and Database Management Systems Organization (DBMS) � How does Wal-Mart manage its 200 TB � Information is one of the most valuable data warehouse? resources in this information age � What is the database technology behind � How do we effectively and efficiently eBay’s website? manage this information? � Relational database management systems � How do you build an Oracle 9i, MySQL or � Dominant data management paradigm today Microsoft SQL Server database? � 6 billion dollars a year industry! 1
ICE: The Mid Store Problems � Create a system to keep track of inventory � Changes to data - Data model � “on the fly” queries � Data inconsistencies � Security of information (views) � Performance � Partial processing � Concurrency Why Database Management Data Model Systems? � Benefits � Entity-Relationship model � High-level abstractions for data modeling, � Relational model access, manipulation, and administration � Object-oriented model � Data integrity and security � Object-relational model � Performance and scalability � XML � Transactions (concurrent data access, recovery from system crashes) 2
The Relational Data Model The Object-Oriented Data Model � Richer data model. Goal: Bridge mismatch � Turing Award for Codd in 1980 between programming languages and the database system. � Tables � Example components of the data model: � Relationships between objects directly as pointers. � Database � Result: Can store abstract data types directly in the DBMS � Pictures � Geographic coordinates � Movies � CAD objects Object-Oriented DBMS Object-Relational DBMS � Advantages: � Mixture between the object-oriented and the object-relational data model � Engineering applications (CAD and CAM and CASE computer aided software engineering), � Combines ease of querying with ability to multimedia applications. store abstract data types � Disadvantages: � Conceptually, the relational model, but every column type is a class � Querying is much harder � All major relational vendors are currently extending their relational DBMS to the object-relational model 3
XML Query Languages � We need a high-level language to describe and manipulate the data � Requirements: � Precise semantics � Easy integration into applications written in C++/Java/Visual Basic/etc. � Easy to learn � DBMS needs to be able to efficiently evaluate queries written in the language Why Database Management SQL: Structured Query Language Systems? � IBM (System R) in the 1970s � Benefits � High-level abstractions for data modeling, � ANSI standard since 1986 access, manipulation, and administration � Example: � Data integrity and security SELECT * � Performance and scalability FROM Customers � Transactions (concurrent data access, WHERE Customers.cid = 3 recovery from system crashes) 4
Integrity Constraints Security � Integrity Constraints (ICs): Condition that � Secrecy: Users should not be able to see must be true for any instance of the things they are not supposed to. database. � E.g., A student can’t see other students’ � ICs are specified when schema is defined. grades. � Integrity: Users should not be able to � ICs are checked when tables are modified. modify things they are not supposed to. � A legal instance of a table is one that � E.g., Only instructors can assign grades. satisfies all specified ICs. � Availability: Users should be able to see � DBMS should only allow legal instances. and modify things they are allowed to. � Example: Domain constraints. Why Database Management DBMS and Performance Systems? � Benefits � Efficient implementation of all database operations � High-level abstractions for data modeling, access, manipulation, and administration � Indexes � Data integrity and security � Query optimization � Performance and scalability � Automatic high-performance concurrent � Transactions (concurrent data access, query execution, query parallelization recovery from system crashes) 5
Why Database Management What is a Transaction? Systems? � Benefits The execution of a program that performs a � High-level abstractions for data modeling, function by accessing a database. access, manipulation, and administration � Examples: � Data integrity and security � Buy an airline ticket. � Performance and scalability � Withdraw money from an ATM. � Transactions (concurrent data access, � Verify a credit card sale. recovery from system crashes) � Order an item from an Internet retailer. Transactions Example Transaction: Online Store � A transaction is an atomic sequence of Your purchase transaction: � Atomicity: Either the complete purchase actions happens, or nothing � Each transaction must leave the system in � Consistency: The inventory and internal a consistent state accounts are updated correctly � The ACID Properties � Isolation: It does not matter whether other customers are also currently making a purchase � Durability: Once you have received the order confirmation number, your order information is permanent, even if the site crashes 6
What Makes Transaction What Makes TP Important? Processing Hard? � Reliability � It is at the core of electronic commerce � Availability � Most medium-to-large businesses use TP � Response time for their production systems. � Throughput � Scalability � It is a huge slice of the computer system � Security market – over $50 B/year � Configurability � Atomicity � Durability � Distribution Summary Of DBMS Benefits Best Jobs! � High-level abstractions for data access � Data models � Data integrity and security � Key constraints, integrity constraints, access control � Performance and scalability � Parallel DBMS, distributed DBMS, performance tuning � Transactions � ACID properties, concurrency control, recovery 7
IT Analyst Course Topics � Database design � Relational model � SQL � Normalization � Database administration � PHP � MySQL Course Goals Things We Will NOT Cover � Explain the main advantages of modern database � Relational algebra and calculus management systems over file systems. � Implementation of index structures � Design, create, and query relational databases to satisfy user requirements. � Query evaluation and optimization � Design, build and deploy database-backed applications with dynamic website How to BUILD a Database Management System front-end. � Implement data access control mechanisms for database and application security. � Analyze the ethical issues and responsibilities related to records management Create applications that USE a Database Management System 8
Success in IT420 Academic Integrity - Honor � Lecture – stay engaged � Collaboration on labs/ hws is allowed, but � Take notes – provided slides are not enough! submitted work should be your own � Exams closed-book – but open-note! � Ask & answer questions � Cite any assistance, from any sources � Make the most of in-class lab time � Collaboration on projects, quizzes and � Read lab in advance � Think before you start typing exams is prohibited � Don’t stay stuck! � http://www.cs.usna.edu/academics/honor. � Don’t fall behind � Finish lab early and leave time for reading htm � See me for help and/or talk to friends � Course material builds on itself and gets more complex Resources � Lecture slides / your notes � Textbook: Database Processing by David Kroenke � Database Management Systems by R. Ramakrishnan and J. Gehrke � PHP and MySQL Web Development by L. Welling and L. Thomson 9
Recommend
More recommend