Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Introduction to Database Management System 電機三 趙上鋒 Outline What is DBMS? What can DBMS do? How to design a database? How to use DBMS? Conclusion Reference What is DBMS? Data v.s. Information Data Anything stored without summarized or analyzed. Information Data that has been proceeded to be meaningful for users. Example Information Data Database Stores organized data so that you can query from it or update it. Like an electrical shelf to put data with organization. From user to data x Teacher (user) Application Database x Student (user) Application data What is DBMS? Database Management System DBMS is software to store and manage data, so applications don’t have to worry about them. Like a person who search the dictionary for you. Relation between App & DBMS DBMS x Teacher (user) Application View1 Conceptual schema x Student (user) Application View2 Physical schema data What can DBMS do? DBMS can Do These… Store huge amount of data ( eg. 100+GB ) Store data for long period of time Manage data on permanent storage. Efficient database operation B+ Tree indexing Hash-based indexing Allow people to query & update data Support query language. More Requirement Protect from unauthorized access Security! Protect from system crash Crash recovery Support many users to access the database at the same time Concurrency control Allow administrator to easily change data schema Protect from incorrect input If we don’t use DBMS Applications have to stores data as files 32-bit addressing (5GB) is insufficient to address 100GB+ data file Write special code to: support different queries protect data from multiple users and concurrent access protect against data loss / corruption as result of system crashes If we don’t use DBMS (cont’d) Other issues: Rewrite applications when data schema changes Password-based authorization is insufficient Optimize applications for efficient access and query Easier to use a DBMS to handle these issuse! How to design a database Data Model A data model is a collection of concepts for describing data. Entity-relation (ER) model Proposed by Peter Chen (BS NTU EE ‘68) in 1976 popular for conceptual design Relational model Object-oriented model A schema is a description of a particular collection of data in a given data model. Eg. How to describe a book? Some example for ER-modal num attribute key id name password ISBN author user order relation book Entity set price Relational Model Most widely used today Microsoft SQL Server Oracle MySQL SyBase IBM DB2 Microsoft Office Access Why People Like It Simple Each relation is represented as a table of rows and columns Easy to understand Ease of expressing complex query (using SQL) on the data Efficient query evaluation (using query optimization) Example of Relation A relation has two parts: Relational Schema defines column heads of the table. Relational Instance contains the data rows (called tuples or records) of the table. ISBN author price 1234567890 羊肉爐不是故意的 LogyDog 200 0780785678 奼紫嫣紅牡丹亭:四百年青春之夢 白先勇 380 白先勇 270 0025201179 name 孽子 Example of Relation Field Also called an attribute or a column Key a set of minimal fields that can uniquely identify a tuple in a relation ISBN author price 1234567890 羊肉爐不是故意的 LogyDog 200 0780785678 奼紫嫣紅牡丹亭:四百年青春之夢 白先勇 380 白先勇 270 0025201179 name 孽子 Convert from ER-Model to Relational Model num id password user name ISBN order author book price user id book password ISBN name ISBN num order id author price How to use DBMS? SQL Structured Query Language Developed by IBM (system R) in the 1970s Current standard: SQL-99 DDL: Data Definition Language DML: Data Manipulation Language SQL Basic Commands DDL create table: create a table drop table: delete a table alter table: alter a field in a table DML insert: add a record delete: delete a record update: change field values in a record select: query data satisfying some condition Example of create table & drop table create table book( ISBN integer, name char(255), author char(127), price integer, primary key(ISBN) ) drop table book ISBN name author price Example of alter table alter table book add m_price integer alter table book drop m_price ISBN name author price m_ price Example of insert insert into book( ISBN, name, author, price ) values ( 1234567890, “羊肉爐不是故意的”, “LogyDog”, 200 ) ISBN name 1234567890 羊肉爐不是故意的 author price LogyDog 200 Example of delete delete from book where author = ‘白先勇’ ISBN author price 1234567890 羊肉爐不是故意的 LogyDog 200 0780785678 奼紫嫣紅牡丹亭:四百年青春之夢 白先勇 380 白先勇 270 0025201179 name 孽子 Example of update update book as b set b.name = ‘羊肉爐不是故意的’ where b.author = ‘LogyDog’ update book as b set b.price = b.price * 0.9 ISBN author price 1234567890 羊肉爐是故意的 羊肉爐不是故意的 LogyDog 200 180 0780785678 奼紫嫣紅牡丹亭:四百年青春之夢 白先勇 380 342 白先勇 270 243 0025201179 name 孽子 Example of select select book as b where b.price<300 and author=‘白先勇’ ISBN author price 1234567890 羊肉爐不是故意的 LogyDog 200 0780785678 奼紫嫣紅牡丹亭:四百年青春之夢 白先勇 380 白先勇 270 0025201179 name 孽子 Conclusion Reference Database Management System, 3rd Ed., by R&G http://mll.csie.ntu.edu.tw/course/database/in dex.html - by Hao-hua Chu Computer Science -- An Overview, 7th Ed, by J. Glenn Brookshear