【精品】人事资料记录表 title16_第1页
【精品】人事资料记录表 title16_第2页
【精品】人事资料记录表 title16_第3页
【精品】人事资料记录表 title16_第4页
【精品】人事资料记录表 title16_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Introduction to Database Systems,Ruoming JinTTH 9:15 10:30pmSpring 2009rm MSB115,Course Goals,This course is an introduction to the design, use, and internal workings of database management system. Understanding Relational Model/Algebra: data is represented as a set of two dimensional tables and operators are defined by manipulate the data. Mastering SQL programming and mySQL database: you will master the operations on a database system. Database design: how to build a real database for an real application? Web+Database: PHP and C+ access of mySQL. Database System Implementation: Storage/Indexing/Transactions 1 & 5 separate a CS major with an IT professional 1, 2, 5 are the basics of a database system.,References,A. Silberschatz, H. F. Korth, S Sudarshan, Database System Concepts, 5th Ed., McGrow Hill, 2005 Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom, Database Systems, The Complete Book, Prentice Hall, 2002 /ullman/dscb.htmlClass notes,Prerequisites,CS 33001 Data StructuresCS31011 Discrete StructuresStructured Programming Language (C+)Software engineering topics related to project documentation and project design,Workload & Requirements,Project3 Exams during the semester and Final ExamProject 20% of the final grade 2 Exams 15% of the final grade per each exam 1 Exam 20% of the final grade Final 25% of the final grade Attendance 5%No late projects are acceptedA 91 100; B 80-90; C 7079; D - 64,Class Schedule,Week 1 Database OverviewWeek 2,3 Relational Model (exam 1) Week 4,5,6 SQL+ mySQL database (2 labs+exam 2) Week 7,8, 9 ER model+ Relational Database Design Theory (1 lab+ exam 3) - project assignment,Week 10, 11,12 PHP programming + C+ database access (1 lab) Web 13, 14,15 Advanced topic (indexing/Query Procesing/Transaction management) + (1 lab),Database Overview,File Management vs Database Management (why do we need database?) Advantages of Database systems: storage persistence, programming interface, transaction managementData Model (What is Data?) Database Language (How to manipulate data?) DBMS Architecture and Database System Components (How can you build a billion-dollar software, like Oracle? Or you can get it free, mySQL?) Users classification (What you can do and what you cannot do?),Where are databases?,You cannot avoid it and its everywhere!You can say it actually makes the current society and your life work!Banking/Credit card /Social Security InfoOnline shopping/booking,The 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.OpenSource: mySQL, postgreSQL,Pre-Database Era: Stone Age of Data,Imagine you want build an online shopping websiteMaintain products/categories (price, picture, properties, )Customers accounts File is uninterpreted, unstructured collection of informationFile operations: delete, catalog, create, rename, open, close, read, write, find, Access methods: Algorithms to implement operations along with internal file organizationExamples: File of Customers, File of Products; Access method: implementation of a set of operations on those files,C+ file programming,open - open a file- specify how its opened (read/write) and type (binary/text) close - close an opened file read - read from a file write - write to a file seek - move a file pointer to somewhere in a file,File Management System Problems,Any question (access) on the data is a small program! Data redundancyData is not isolated from the access implementation (different format) Multiple application (concurrent program) on the same file,Concurrent Program Execution,Program1,What is the final value of the account AC?,Program2,AC=AC-50,AC=AC-100,AC #103 450,Security Problems,Allow access to the file only to the authorized personnelAbility to restrict access to parts of the recordAbility to control operation usage by different usersProtection from unauthorized useProtection from the derivation of unauthorized information,Data Integrity,A database constraint is a logical constraint about the data expressed in a logical language. STUDENT.AGE 15If (STUDENT.CLASS =cs43005) then (STUDENT.PRIOR_CLASS =cs31001)Database is consistent if data at each time satisfies all integrity constraints. Input to any application is a set of consistent data. An application output is a set of consistent data.,Collection of Files,Hierarchical,60s70s80s90snow,Relational,Choice for most new applications,Object Bases,Knowledge Bases,Network,Advantages of Databases,Persistent Storage Database not only provides persistent storage but also efficient access to large amounts of dataProgramming Interface Database allows users to access and modify data using powerful query language. It provides flexibility in data managementTransaction Management Database supports a concurrent access to the data,Early Database Applications,Airline Reservation Systems Data items are: single passenger reservations; Information about flights and airports; Information about ticket prices and tickets restrictions. Banking Systems Data items are accounts, customers, loans, mortgages, balances, etc. Failures are not tolerable. Concurrent access must be providedCorporate Records Data items are: sales, accounts, bill of materials records, employee and their dependents,Modern Database Applications,Client Server architectureDBMS serves as a server and client queries are sent to serversWhere to locate serversMultimedia ApplicationsMultidatabase ApplicationsData WarehousesIts everywhere!,Three Aspects to Studying DBMSs,1. Modeling and design of databases.Allows exploration of issues before committing to an implementation.2. Programming: queries and DB operations like update.3. DBMS implementation.,What Is Data ?,Different view points:A sequence of characters stored in computer memory or storageInterpreted sequence of characters stored in computer memory or storageInterpreted set of objectsThis maybe one of the most profound questions in computer science! It is still open and keep evolving!,Data Levels and their Roles,Physical corresponds to the first view of data: How data is stored, how is it accessed, how data is modified, is data ordered, how data is allocated to computer memory and/or peripheral devices, how data items are actually represented (ASCI, EBCDIC,)Conceptual corresponds to the second view of data: What we want the data to express and what relationships between data we must express, what “ story” data tells, are all data necessary for the “story are discussed.View corresponds to the third view of data:What part of the data is seen by a specific application,Physical Data - Example,Physical,benjamin,63,10,3,0000035000,J,james,6,10,3,3,6,000375,. . . . . . . . .,Examples,ConceptualTA Name char(10), Age char (3), Salary Fixed Dec(6); - Student Name char(10), Year-of_study char(3) GPA Fixed Dec(5,2);,Examples,- STUDENTS-TA Name char(25), Age char (3), Salary Fixed Dec(8,2), Year-of_study char(3) GPA Fixed Dec(3,2);,A view,Three Level Data View Data Abstractions,View1 View k,Conceptual View Of Data,Phyisal Data Storage,. . . . .,Logical Data Models,A collection of tools for describing data data relationshipsdata semanticsdata constraints,A Break-through : Relational Model,An enterprise is represented as a set of relationsDomain is a set of atomic values. Each domain has a NULL value.Data type Description of a form that domain values can be represented. Relation is a subset of a cartesian product of one or more domainsThe elements of relations are called tuples. Each element in the cartesian product is called attribute.,Relational Model,Example of tabular data in the relational model,Name,Student-id,Street,City,gpa,JohnsonSmithJohnsonJonesSmith,192-83-7465019-28-3746192-83-7465321-12-3123019-28-3746,AlmaNorthAlmaMainNorth,Palo AltoRyePalo AltoHarrisonRye,4.03.45,Attributes,Object Oriented Model,An enterprise is described as a collection of objects and a collection of algorithms that work with objectsExample: Person is an object.Object is characterized by a set of public attributes. Applications may refer only to public attributes; private attributes . Algorithms that implement the object may refer to private attributes; a set of protected attributes and a set of methodsAttribute of an object can be another objectObjects are nested into a hierarchy and can inherit attributes of their parents,Object Oriented Model,OBJECT DATA MODEL1.Complex Objects Nested Structure (pointers or references)2.Encapsulation, set of Methods/Access functions3.Object Identity4.Inheritance Defining new classes like old classesObject model: usually find objects via explicit navigationAlso query language in some systems,Example,Class Person public: Person(); Person(); float GetSalary(); float PutSalary(float ,Object-Oriented ModelData Encapsulation,An object contains both data and methods to work with the dataThe physical data representation is visible only to the object creator.The implementation details of methods are not visible to object usersAn interface of the object consists of public attributes and methodsEach object is characterized by an object identity,Data Manipulation Language,Language for accessing and manipulating the data organized by the appropriate data modelTwo classes of languages Procedural user specifies what data is required and how to get those data Nonprocedural user specifies what data is required without specifying how to get those dataSQL is the most widely used query language,Database Languages,Faculty,Name,Dept,Department,Dept,Chair,SQL,SELECT Chair FROM Faculty, DepartmentWHERE F = “Ken Noname”AND Faculty.Dept = Department.DeptData definition language (DDL) like type definitions in C or C+Data Manipulation Language (DML)Query (SELECT)UPDATE SET = WHERE ,Data Definition Language,Specification notation for defining the database schemaE.g. create table account ( account-number char(10), balance integer)DDL compiler generates a set of tables stored in a data dictionaryData dictionary contains metadata (i.e., data about data) database schema Data storage and definition language language in which the storage structure and access methods used by the database system are specifiedUsually an extension of the data definition language,Database Host Languages,C, C+, Fortran, Lisp, COBOL,Application prog.,Local Vars,DBMS,Calls toDB,Host language is completely general Query languageless general non procedural andoptimizable,(Memory),(Storage),Database Definition,A database is a collection of stored operational data used by various applications and/or users by some particular enterprise or by a set of outside authorized applications and authorized usersA DataBase Management System (DBMS) is a software system that manages execution of users applications to access and modify database data so that the data security, data integrity, and data reliability is guaranteed for each application and each application is written with an assumption that it is the only application active in the database.,DBMS Architecture,Logical and Physical Database Components,Data Definition Language (DDL)Data Manipulation Language (DML)Host Language InterfaceData AdministratorUsersQuery ProcessorCompilerOptimizerManagementTransaction ManagerFile ManagerBuffer ManagerAuthorization and Integrity Manager,Logical,Physical,Query Processor,Compiler verifies whether a program or query is written in accordance with DDL and DML rulesOptimizer Finds the most effective way to access the required data and supply it in a user requested form. Monitors the query execution and modifies a query evaluation plan if necessary.,Storage Management,Storage manager is a program module that provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system.The storage manager is responsible to the following tasks: interaction with the file manager efficient storing, retrieving and updating of data,Transaction Manager,A transaction is a collection of operations that performs a single logical function in a database applicationTransaction-management component ensures that the database remains in a consistent (correct) state despite system failures (e.g., power failures and operating system crashes) and transaction failures.Concurrency-control manager controls the interaction among the concurrent transactions, to ensure the consistency of the database.,File Manager,File Manager is responsible for mapping logical database units (objects, relations, etc.) into a set of low level files.It is responsible for maintenance of files and indexes on them. It should be able to create and destroy index and collect unused storage space to eliminate an unneeded gaps on disks.,Buffer Manager,Buffer Manager is responsible for the allocation and maintenance buffer space in a memory to facilitate processing database data by several concurrent applications.Buffer Manager decides when to load data from a buffer to a database or discard the data and under what conditions a new data should be put into a buffer,Authorization and Integrity Manager,This manager is responsible for granting an access to database or portions thereof only to authorized users and preventing the access to unauthorized usersIntegrity manager must assure data integrity during normal database operations as well as during the datab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论