《数据库基础知识培训胶片精.ppt》由会员分享,可在线阅读,更多相关《数据库基础知识培训胶片精.ppt(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库基础知识培训胶片数据库基础知识培训胶片数据库基础知识培训胶片数据库基础知识培训胶片第1页,本讲稿共72页数据库原理数据库原理数据库原理数据库原理 第2页,本讲稿共72页目标目标通过这部分课程的学习通过这部分课程的学习,您将了解以下内容您将了解以下内容:l关系数据库基本概念关系数据库基本概念l常用数据库对象常用数据库对象l常用数据类型常用数据类型第3页,本讲稿共72页IN DatabaseInformixServerSMPSCPSMAPSMAPSMAPThe database plays the role of the base,saving and processing the data
2、 that should be easily accessed by the user.What is a database?Usually,a database runs in the server part to serve access requests from clients.第4页,本讲稿共72页Definition of a Relational DatabaseA relational database is a collection of relations or two-dimensional tables.OracleOracleserverserverTable Nam
3、e:EMPLOYEESTable Name:DEPARTMENTS第5页,本讲稿共72页Relational Database Management SystemUser tablesData dictionaryOracleserverRDBMS:Relational Database Management SystemA relational database consists of tables that are made up of rows and columns.第6页,本讲稿共72页TablesA database in a RDBMS is a collection of in
4、formation that is grouped into one or more tables.A table is an array of data items organized into rows and columns.Stock第7页,本讲稿共72页PPS Service Data TableIN Service DatabaseFPH Service Data TableSubscriber Data TableTables are relationalSub IDBalanceIDD Flag1001100.0001012200.001MSISDN NumBalanceIDD
5、 FlagSub ID1001100.0001001012200.001101FPH NumBalanceIDD FlagSub ID80081012341100.00010080081043212200.001101第8页,本讲稿共72页RowsRowsEach row of a table stands for one instance of the subject of the table,which is one particular example of that entity.Stock第9页,本讲稿共72页ColumnsEach column of a table stands
6、for one attribute,which is one characteristic,feature,or fact that is true of the subject of the table.ColumnsStock第10页,本讲稿共72页The Relational ModelA relational database consists of A relational database consists of tables that are made up of rows and tables that are made up of rows and columns.colum
7、ns.column =attributerow =instancetable=entity第11页,本讲稿共72页Operations on Tables第12页,本讲稿共72页Database ObjectsObjectDescriptionTableBasic unit of storage;composed of rows and columnsView Logically represents subsets of data from one or more tablesSequence Numeric value generatorIndexImproves the performa
8、nce of some queriesSynonym Gives alternative names to objects第13页,本讲稿共72页What is a View?EMPLOYEES Table:第14页,本讲稿共72页Why Use Views?lTo restrict data accesslTo make complex queries easylTo provide data independencelTo present different views of the same data第15页,本讲稿共72页What are Constraints?lConstraint
9、s enforce rules at the table level.lConstraints prevent the deletion of a table if there are dependencies.lThe following constraint types are valid:NOT NULLUNIQUE PRIMARY KEYFOREIGN KEYCHECK第16页,本讲稿共72页What is an Index?An index:lIs a schema objectlIs used by the Oracle server to speed up the retriev
10、al of rows by using a pointerlCan reduce disk I/O by using a rapid path access method to locate data quicklylIs independent of the table it indexeslIs used and maintained automatically by the Oracle server第17页,本讲稿共72页How Are Indexes Created?lAutomatically:A unique index is created automatically when
11、 you define a PRIMARY KEY or UNIQUE constraint in a table definition.lManually:Users can create nonunique indexes on columns to speed up access to the rows.第18页,本讲稿共72页Data TypesData TypeDescriptionVARCHAR2(size)Variable-length character dataCHAR(size)Fixed-length character dataNUMBER(p,s)Variable-l
12、ength numeric dataDATE Date and time valuesLONG Variable-length character data up to 2 gigabytesCLOBCharacter data up to 4 gigabytesRAW and LONG RAW Raw binary dataBLOBBinary data up to 4 gigabytesBFILEBinary data stored in an external file;up to 4 gigabytesROWIDA 64 base number system representing
13、the unique address of a row in its table.第19页,本讲稿共72页总结总结通过这部分课程的学习通过这部分课程的学习,您需要掌握以下内容您需要掌握以下内容:l关系数据库基本概念关系数据库基本概念l常用数据库对象常用数据库对象表索引约束l常用数据类型常用数据类型第20页,本讲稿共72页SQLSQL语言基础语言基础语言基础语言基础 第21页,本讲稿共72页目标目标通过这部分课程的学习通过这部分课程的学习,您将了解以下内容您将了解以下内容:lSQL语句的种类语句的种类l执行基本的执行基本的Select语句语句l在表中插入数据行在表中插入数据行l在表中修改数据行在
14、表中修改数据行l从表中删除数据行从表中删除数据行l控制事务处理控制事务处理第22页,本讲稿共72页SQL StatementsSELECT INSERTUPDATEDELETEMERGECREATEALTERDROPRENAMETRUNCATECOMMITROLLBACKSAVEPOINTGRANTREVOKE Data retrieval Data manipulation language(DML)Data definition language(DDL)Transaction controlData control language(DCL)第23页,本讲稿共72页基础基础SELECT
15、语句语法语句语法SELECT*|DISTINCT column|expression alias,.FROMtable;第24页,本讲稿共72页 使用算术操作符使用算术操作符SELECT last_name,salary,salary+300FROM employees;第25页,本讲稿共72页使用连接符和字符串使用连接符和字符串SELECT last_name|is a|job_id AS Employee DetailsFROM employees;第26页,本讲稿共72页 排除重复的行排除重复的行SELECT DISTINCT department_idFROM employees;第2
16、7页,本讲稿共72页使用使用 WHERE 条件条件SELECT employee_id,last_name,job_id,department_idFROM employeesWHERE department_id=90;第28页,本讲稿共72页比较条件比较条件操作符操作符=含义含义等于等于大于大于 大于或等于大于或等于 小于小于 小于或等于小于或等于不等于不等于第29页,本讲稿共72页其它的比较条件其它的比较条件操作符操作符BETWEEN.AND.IN(set)LIKEIS NULL含义含义两个值之间两个值之间匹配值列表中值匹配值列表中值 匹配一个字符样式匹配一个字符样式 空值空值第30页,
17、本讲稿共72页使用使用 LIKE 条件条件l搜索条件能包括两种模式匹配类型搜索条件能包括两种模式匹配类型:%表示许多字符._ 表示一个字符.SELECTfirst_nameFROM employeesWHEREfirst_name LIKE S%;第31页,本讲稿共72页使用使用 NULL 条件条件测验空值使用测验空值使用 IS NULL 条件条件.SELECT last_name,manager_idFROM employeesWHERE manager_id IS NULL;第32页,本讲稿共72页逻辑条件逻辑条件OperatorANDORNOT含义含义两部分条件都返回真值则结果返回真值两
18、部分条件都返回真值则结果返回真值两部分条件中有任意一部分返回真值则结果返两部分条件中有任意一部分返回真值则结果返回真值回真值如果条件返回假则结果返回真值如果条件返回假则结果返回真值第33页,本讲稿共72页使用使用 AND 操作符操作符要求条件都为真要求条件都为真.SELECT employee_id,last_name,job_id,salaryFROM employeesWHERE salary=10000AND job_id LIKE%MAN%;第34页,本讲稿共72页SELECT last_name,job_id,department_id,hire_dateFROM employees
19、ORDER BY hire_date;ORDER BY 条件条件l带带 ORDER BY 条件的排序条件的排序ASC:升序,缺省DESC:降序lORDER BY 条件在条件在Select语句最后语句最后.第35页,本讲稿共72页数据操作语句数据操作语句l一条一条 DML 语句在下列情况下被执行语句在下列情况下被执行:向表中增加新的数据行修改表中存在的数据从表中删除数据l一一个个事事务务由由DML语语句句集集合合形形成成的的逻逻辑辑工工作作单单元元构构成成.第36页,本讲稿共72页INSERT 语句语法语句语法.INSERT INTOtable(column,column.)VALUES(val
20、ue,value.);第37页,本讲稿共72页向表中插入新的数据行向表中插入新的数据行l插入的新行应包括所有的列值插入的新行应包括所有的列值.l插入的值应按照表中列缺省的顺序排列插入的值应按照表中列缺省的顺序排列.l如如插插入入所所有有的的列列,INSERT 条条件件中中可可随随意意选选择择是是否否列列出出所所有有列列.INSERT INTO departments(department_id,department_name,manager_id,location_id)VALUES (70,Public Relations,100,1700);1 row created.第38页,本讲稿共7
21、2页INSERT INTO employeesVALUES (114,Den,Raphealy,DRAPHEAL,515.127.4561,TO_DATE(FEB 3,1999,MON DD,YYYY),AC_ACCOUNT,11000,NULL,100,30);1 row created.1 row created.插入特殊的日期型值插入特殊的日期型值lVerify your addition.第39页,本讲稿共72页l带带子子查查询询的的INSERT 语语句句.l字段的数据类型必须匹配字段的数据类型必须匹配.INSERT INTO sales_reps(id,name,salary,com
22、mission_pct)SELECT employee_id,last_name,salary,commission_pct FROM employees WHERE job_id LIKE%REP%;4 rows created.4 rows created.从另外一个表中复制行从另外一个表中复制行第40页,本讲稿共72页UPDATE 语句语法语句语法l可一次性修改多行可一次性修改多行UPDATEtableSETcolumn=value,column=value,.WHERE condition;第41页,本讲稿共72页UPDATE employeesSET department_id=70
23、WHERE employee_id=113;1 row updated.1 row updated.l在在WHERE条件中指定需要修改的行条件中指定需要修改的行.l修改表中所有的行修改表中所有的行.修改表中数据修改表中数据UPDATE copy_empSET department_id=110;22 rows updated.22 rows updated.第42页,本讲稿共72页UPDATE copy_empSET department_id =(SELECT department_id FROM employees WHERE employee_id=100)WHERE job_id =(
24、SELECT job_id FROM employees WHERE employee_id=200);1 row updated.1 row updated.基于另外表基于另外表SELECT得到的值修改数据得到的值修改数据使用子查询实现:使用子查询实现:第43页,本讲稿共72页DELETE 语句语法语句语法DELETE FROM tableWHERE condition;第44页,本讲稿共72页l通通过过WHERE条条件件指指定定删删除除的的行行.l省略省略 WHERE 条件,所有的行都将被删除条件,所有的行都将被删除.从表中删除多行从表中删除多行 DELETE FROM departmen
25、ts WHERE department_name=Finance;1 row deleted.1 row deleted.DELETE FROM copy_emp;22 rows deleted.22 rows deleted.第45页,本讲稿共72页DELETE FROM employeesWHERE department_id=(SELECT department_id FROM departments WHERE department_name LIKE%Public%);1 row deleted.1 row deleted.基于另外表基于另外表SELECT得到的值删除数据得到的值删除
26、数据通过子查询语句从另外表中得到值作为删除条件通过子查询语句从另外表中得到值作为删除条件.第46页,本讲稿共72页数据库事务数据库事务一个数据库完整事务包含以下情况一个数据库完整事务包含以下情况:l构构成成对对数数据据的的一一次次一一致致性性改改变变的的DML语语句句(一一条条或或多条)多条)l一条一条DDL 语句语句第47页,本讲稿共72页数据库事务数据库事务l当第一条当第一条 DML SQL 语句执行时开始语句执行时开始l当下列任意事件发生时结束当下列任意事件发生时结束:提交或回滚语句执行一条DDL 执行(自动提交)系统崩溃第48页,本讲稿共72页控制事务控制事务SAVEPOINT BSA
27、VEPOINT ADELETEINSERTUPDATEINSERTCOMMITTimeTransactionROLLBACK to SAVEPOINT BROLLBACK to SAVEPOINT AROLLBACK第49页,本讲稿共72页UPDATE.SAVEPOINT update_done;Savepoint created.Savepoint created.INSERT.ROLLBACK TO update_done;Rollback complete.Rollback complete.回滚改变到一个标记回滚改变到一个标记l在当前的事务中可通过在当前的事务中可通过 SAVEPOIN
28、T 语句创建标记语句创建标记.lROLLBACK TO SAVEPOINT 语句可回滚到标记语句可回滚到标记.第50页,本讲稿共72页l自动的自动的 commit 发生在发生在:DDL 语句执行隐性的事务处理隐性的事务处理第51页,本讲稿共72页COMMIT;Commit complete.Commit complete.l改变数据改变数据.lCommit 改变改变.DELETE FROM employeesWHERE employee_id=99999;WHERE employee_id=99999;1 row deleted.1 row deleted.INSERT INTO depart
29、ments VALUES(290,Corporate Tax,NULL,1700);1 row inserted.1 row inserted.提交数据提交数据第52页,本讲稿共72页回滚后数据状态回滚后数据状态回滚后数据状态回滚后数据状态将丢弃所有未将丢弃所有未COMMIT的改变:的改变:DELETE FROM copy_emp;22 rows deleted.22 rows deleted.ROLLBACK;Rollback complete.Rollback complete.第53页,本讲稿共72页总结总结通过这部分课程的学习通过这部分课程的学习,您将了解以下内容您将了解以下内容:lS
30、QL语句类型语句类型l写一个写一个SELECT语句语句:从一个表中返回所有的行和列从一个表中返回指定的列使用列别名描述列头l描述描述 DML 语句语句l在表中插入数据行在表中插入数据行l在表中修改数据行在表中修改数据行l从表中删除数据行从表中删除数据行l控制事务处理控制事务处理第54页,本讲稿共72页练习练习请见请见Oracle数据库维护上机任务书数据库维护上机任务书课堂练习课堂练习-SQL语言基础语言基础 第55页,本讲稿共72页数据库函数数据库函数数据库函数数据库函数第56页,本讲稿共72页目标目标通过这部分课程的学习通过这部分课程的学习,您将了解以下内容您将了解以下内容:l描述描述SQL
31、中用到的不同类型的函数中用到的不同类型的函数l在在SELECT语句中使用字符,数值和日期等函数语句中使用字符,数值和日期等函数l转换函数的使用转换函数的使用 第57页,本讲稿共72页SQL FunctionsFunctionFunctionInputarg 1arg 1arg 2arg 2arg arg n nFunction performs actionOutputResultResultvaluevalue第58页,本讲稿共72页字符型函数字符型函数字符型函数字符型函数LOWERUPPERINITCAPCONCATSUBSTRLENGTHINSTRLPAD|RPADTRIMREPLACE
32、大小写处理函数大小写处理函数大小写处理函数大小写处理函数字符处理函数字符处理函数字符处理函数字符处理函数第59页,本讲稿共72页FunctionResult大小写处理函数大小写处理函数能对字符串进行大小写转换能对字符串进行大小写转换.LOWER(SQL Course)UPPER(SQL Course)INITCAP(SQL Course)sql courseSQL COURSESql Course第60页,本讲稿共72页使用大小写处理函数使用大小写处理函数SELECT employee_id,last_name,department_idFROM employeesWHERE last_nam
33、e=higgins;no rows selectedno rows selectedSELECT employee_id,last_name,department_idFROM employeesWHERE LOWER(last_name)=higgins;第61页,本讲稿共72页CONCAT(Hello,World)SUBSTR(HelloWorld,1,5)LENGTH(HelloWorld)INSTR(HelloWorld,W)LPAD(salary,10,*)RPAD(salary,10,*)TRIM(H FROM HelloWorld)HelloWorldHello106*24000
34、24000*elloWorldFunctionResult字符处理函数字符处理函数下列函数能对字符串进行处理下列函数能对字符串进行处理:第62页,本讲稿共72页SELECT employee_id,CONCAT(first_name,last_name)NAME,job_id,LENGTH(last_name),INSTR(last_name,a)Contains a?FROM employeesWHERE SUBSTR(job_id,4)=REP;使用字符处理函数使用字符处理函数123123第63页,本讲稿共72页日期函数日期函数两个日期中的间隔月数两个日期中的间隔月数MONTHS_BETW
35、EENADD_MONTHSNEXT_DAYLAST_DAYROUNDTRUNC 在日期中增加历法月数在日期中增加历法月数指定日期中的下一天指定日期中的下一天这个月的最后一天这个月的最后一天Round 日期日期 Truncate 日期日期FunctionDescription第64页,本讲稿共72页MONTHS_BETWEEN(01-SEP-95,11-JAN-94)使用日期函数使用日期函数ADD_MONTHS(11-JAN-94,6)NEXT_DAY(01-SEP-95,FRIDAY)LAST_DAY(01-FEB-95)19.677419411-JUL-9408-SEP-9528-FEB-9
36、5第65页,本讲稿共72页转换函数转换函数隐性的数据类型转换隐性的数据类型转换隐性的数据类型转换隐性的数据类型转换显性的数据类型转换显性的数据类型转换显性的数据类型转换显性的数据类型转换数据类型转换数据类型转换数据类型转换数据类型转换第66页,本讲稿共72页使用使用 TO_CHAR 函数转换日期函数转换日期SELECT last_name,TO_CHAR(hire_date,fmDD Month YYYY)AS HIREDATEFROM employees;第67页,本讲稿共72页YYYY日期格式基本模型日期格式基本模型YEARMMMONTHDYDAYFull year in numbersY
37、ear spelled outTwo-digit value for monthThree-letter abbreviation of the day of the weekFull name of the day of the weekFull name of the monthMONThree-letter abbreviation of the monthDDNumeric day of the month第68页,本讲稿共72页使用使用 TO_NUMBER 和和 TO_DATE 函数函数 l转换字符型到数值型转换字符型到数值型:l转换字符型到日期型转换字符型到日期型:TO_NUMBE
38、R(char,format_model)TO_DATE(char,format_model)第69页,本讲稿共72页总结总结通过这部分课程的学习,您应该已经了解通过这部分课程的学习,您应该已经了解:l描述描述SQL中用到的不同类型的函数中用到的不同类型的函数l在在SELECT语句中使用字符,数值和日期等函数语句中使用字符,数值和日期等函数l转换函数的使用转换函数的使用第70页,本讲稿共72页练习练习请见请见Oracle数据库维护上机任务书数据库维护上机任务书课堂练习课堂练习-数据库函数数据库函数 第71页,本讲稿共72页使用使用 TO_NUMBER 和和 TO_DATE 函数函数 l转换字符型到数值型转换字符型到数值型:l转换字符型到日期型转换字符型到日期型:TO_NUMBER(char,format_model)TO_DATE(char,format_model)第72页,本讲稿共72页