数据库培训课件_第1页
数据库培训课件_第2页
数据库培训课件_第3页
数据库培训课件_第4页
数据库培训课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库第2页1、安装2、基本概念数据数据库数据库管理系统数据库系统数据模型数据模型的三要素关系模型3、事务数据库一数据库基本知识数据库数据定义语言(DDL Data Definition Language) 例如:CREATE、DROP、ALTER等语句。 数据操作语言(DML Data Manipulation Language) 例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。 数据查询语言(DQL Data Query Language ) 例如:SELECT语句。 数据控制语言(DCL Data Control Language) 例如:GRANT、REVO

2、KE、COMMIT、ROLLBACK等语句。第3页二.SQL数据库数据库安装文档Sql Plus(客户端),命令行直接输入:sqlplus,然后按提示输入用户名,密码。从开始程序运行:sqlplus,是图形版的sqlplus.http:/localhost:5560/isqlplusPlSql Developer 用法(重点),数据库导入导出,pdmalter user scott account unlock; 解锁scott 密码为tiger第4页安装第5页数据库基本知识基本概念 描述事物的符号,数字、文字、图表、图像、声音等都是数据。数据的形式本身并不能完全表达其内容,需要经过语义解释,

3、数据与其语义是不可分的数据(Data)数据库(DB即Database) 数据库是长期存储在计算机内有结构的大量的共享的数据集合。它可以供各种用户共享、具有最小冗余度和较高的数据独立性第6页数据库基本知识基本概念数据库管理系统(DBMS) Database Management System,是位于用户与操作系统之间的数据管理软件。数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复数据库系统(DBS) Database System,狭义地讲是由数据库、数据库管理系统和用户构成,广义地讲是由计算机、硬件、操作系统、数据库管

4、理系统以及在它支持下建立起来的数据库应用程序、用户和维护人员组成的一个整体第7页数据库基本知识基本概念数据模型数据(Data)是描述事物的符号记录。模型(Model)是现实世界的抽象。数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。数据模型通常都由数据结构,数据操作和完整性三个要素组成。数据库模型的三要素 1.数据结构 2.数据操作 3.完整性约束第8页数据库基本知识基本概念数据模型的三要素数据结构 :用于描述系统的静态特性,研究与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等。数据操作 :数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数

5、据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据的约束条件 :数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 第9页数据库基本知识基本概念数据模型按不同的应用层次分类:概念数据模型 Lodical Data Model 数据模型,是面向数据库用户的现实世界的模型。 ER模型逻辑数据模型 数据模型,用户从数据库中所看到的模型。是具体的DBMS所支持的数据模型。 层次数据模型(Hierarchical Data Model 树

6、形图) 网状数据模型(Network Data Model) 关系模型物理数据模型 Physical Data Model 物理模型,是面向计算机的物理表示的模型,描述了数据在存储介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。第10页数据库基本知识基本概念层次模型网状模型关系模型层次模型网状模型关系模型特点它的特点是将数据组织成一对多关系的结构用连接指令或指针来确定数据间的显式连接关系,是具有多对多类型的数据组织方式为非结构化的结构,用单一的二维表的结构表示实体及实体之间的联系。优点存取方便且速度快 结构清晰,容易理解 数据修改和数据库扩展容易实现 检索关键属性十分

7、方便 能明确而方便地表示数据间的复杂关系 数据冗余小 结构特别灵活,满足所有布尔逻辑运算和数学运算规则形成的查询要求 能搜索、组合和比较不同类型的数据 增加和删除数据非常方便 缺点结构呆板,缺乏灵活性 同一属性数据要存储多次,数据冗余大(如公共边) 不适合于拓扑空间数据的组织网状结构的复杂,增加了用户查询和定位的困难。 需要存储数据间联系的指针,使得数据量增大 数据的修改不方便(指针必须修改)数据库大时,查找满足特定关系的数据费时 对空间关系无法满足第11页数据库基本知识基本概念关系数据模型数据结构: 一个关系模型的逻辑结构是一张二维表,它由行和列组成。表中的一行即为一个元组;表中的一列即为一

8、个属性。操纵及完整性约束:关系数据模型的操纵主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。 关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。 关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”,不必详细说明“怎么干”,从而大大地提高了数据的独立性。 关系数据库标准操作语言是SQL语言。存储结构:关系数据模型中,实体及实体间的联系都用表来表示。在数据库的物理组织中,表以文件形式存储,每一个表通常对应一种文件结构。第12页数据库基本知识事务事务(Transaction)概念是访问并可能更新数据库中各种数据项的一个程序执行单元(unit

9、); 在关系数据库中,一个事物可以是一条SQL语句,一组SQL语句或者整个程序; 分类隐式事务:又称自动提交事务;如果运行一条 I N S E RT语句,SQL Server将把它包装到事务中,如果此I N S E RT语句失败,SQL Server将回滚 或取消这个事务.每条S Q L语句均被视为一个自身的事务.显式事务:在显示事务中事务的开始与结束语句必须成对出现,否则会出现错误。是一种由你自己指定的事务.这种事务允许你自己决定哪批工作必须成功完成, 否则所有部分都不完成.为了给自己的事务定界,可以使用关键字BEGIN TRANSACTION和 ROLLBACK TRANSACTION或C

10、OMMIT TRANSACTION. 引入原因当我们对表中数据进行修改时,当需要同时完成对多个表的数据修改时,即,一个表成功,另外表也成功,一个不成功,均不成功,则需要引入事务的概念,主要是解决数据的一致性。两种事务处理Commit(提交)Rollback(回滚)第13页数据库基本知识事务事务的四个属性(ACID)原子性(atomicity)一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。一致性(consistency)事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。 隔离性(isolation)一个事务的执行不能被其他事务干扰。即

11、一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。持久性(durability)持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。第14页第14页数据库基本知识SQLSQL Structured Query LanguageSql结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。SQL语言包含4个部分:数据定义语言(DDL),提供定义关系模式、删除关系以及修改关系模式的命令。 例如

12、:CREATE、DROP、ALTER等语句。 数据操作语言(DML),包括基于关系代数和元祖关系演算的查询语言,还包括在数据库中插入、删除、修改元祖的命令。 例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。 数据查询语言(DQL), 例如:SELECT语句。 数据控制语言(DCL) ,用于控制对数据库对象操作的权限,它使用GRANT和REVOKE语句对用户或用户组授予或回收数据库对象的权限。 例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。第15页DDL基本概念DDL(数据定义语言)Data Definition Language用于定义SQL

13、模式、基本表、视图和索引的创建和撤消操作表名:1-30个字符类型:varchar2、number、date、blob 修改一个表的缺省值时只能影响后插入到表中的数据,不影响原有的数据大表删除一个字段时需要较长的时间,可以先给unused后再进行删除 比如:alter table 表名 set unused column 字段 -将字段设为不可用 Alter table 表名 drop unused columns -删除不可用字段truncate table 表名 删除表所有记录 回收表空间注释:Comment on table 表名 is 第16页DDL创建表- Create tablecr

14、eate table AA14( AAB001 VARCHAR2(14) not null, AAB321 VARCHAR2(6), AAA035 NUMBER(5,4), AAE041 VARCHAR2(6) not null, AAE042 VARCHAR2(6), AAE011 VARCHAR2(20), AAE036 DATE)tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );第17页DDL添加注释- Add comm

15、ents to the table comment on table AA14 is 工伤保险单位浮动费率表;- Add comments to the columns comment on column AA14.AAB001 is 单位编号;comment on column AA14.AAB321 is 行业风险类型;comment on column AA14.AAA035 is 浮动费率;comment on column AA14.AAE041 is 开始年月;comment on column AA14.AAE042 is 终止年月;comment on column AA14.

16、AAE011 is 经办人;comment on column AA14.AAE036 is 经办日期;第18页DDL主键- Create/Recreate primary key constraintsalter table AA14 add constraint PK_AA14 primary key (AAB001, AAE041) using index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );第19页DDL

17、外键- Create/Recreate foreign key constraints alter table AA14 add constraint FK_AA14_AA141 foreign key (AAB001) references AA141(AAB001);第20页DDL唯一约束- Create/Recreate unique key constraintsalter table SEC_USER add constraint UQ_SEC_USER_USERNAME_ unique (USERNAME_) using index tablespace USERS pctfree

18、 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );第21页DDL索引通过对表的某一个或某一些字段添加索引能加快对数据库的查询速度。创建索引的优点通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性可以大大加快数据的检索速度,这也是创建索引的最主要的原因可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能创建索引的缺点创

19、建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 第22页DDL索引索引是建立在数据库表中的某些列上的适合创建索引的列在经常需要搜索的列上,可以加快搜索的速度在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的在经常需要排序的列上创

20、建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。不适合创建立索引的列对于那些在查询中很少使用或者参考的列不应该创建索引对于那些只有很少数据值的列也不应该增加索引对于那些定义为text, image和bit数据类型的列不应该增加索引当修改性能远远大于检索性能时,不应该创建索引 THANK YOUSUCCESS2022/10/1423可编辑第24页DDL索引创建索引的语法创建索引的标准语法:CREATE INDEX 索引名 ON 表名 (列名) TABLESPACE 表空间名; 创建唯一索引:CREATE un

21、ique INDEX 索引名 ON 表名 (列名) TABLESPACE 表空间名; 创建组合索引:CREATE INDEX 索引名 ON 表名 (列名1,列名2) TABLESPACE 表空间名; 第25页DML基本概念DML(数据操作语言)概念 Data Manipulation Language,使用户能够操作已有数据库中数据的计算机语言。分类INSERT语句UPDATE语句DELETE语句第26页DMLINSERT语句INSERT语句 可以向数据库表中插入记录INSERT完整语法INSERT INTO TABLE_NAME | VIEW_NAME(COLUMN_LIST) VALUES

22、(VALUES_LIST) | SELECT_STATEMENT一次一行出现空值的情况:不明确写出列名,则默认插入空值,除非有默认值明确写出列名,values(NULL)给定空值第27页DMLUPDATE语句UPDATE语句 更新数据库中的数据UPDATE完整语法UPDATE TABLE_NAME | VIEW_NAME SET TABLE_NAME | VIEW_NAME COLUMN_LIST | VARIABLE_LIST =expressionWHERE第28页DMLDELETE语句DELETE语句 删除数据库中的记录DELETE完整语法DELETE FROM TABLE_NAME W

23、HERE SEARCH_CONDITIONS当删除主表记录时,如果子表有对应的记录,可能会报错 第29页第29页DQL基本概念DQL(数据查询语言)概念 Data Query Language ,使用户能够查询已有数据库中数据的计算机语言。分类SELECT语句 select * from dual;第30页DMLSELECT语句SELECT语句 SQL语言中的查询语句,是SQL语言最主要、最核心的语句SELECT完整语法SELECTALL|DISTINCT*|table.*|table.field1ASalias1,table.field2ASalias2,FROMtableexpressio

24、n,WHEREGROUPBYHAVINGORDERBY第31页DMLSELECT语句1.语句中的关键字、字段、表名不区分大小写2.取出的字段可以用+ - * / 进行运算Select 1*2 from dual;3.可以用distinct过滤重复记录Select distinct dmmc from gg_dmnr;4.语句后用分号作结束符5.可以跨行写,但是关键字不能跨行6.null和0及空格的区别null:没有存储任何内容,有null参与的运算,其结果仍为null 0及空格:分配存储空间7.查询空值时用 is null 非空 is not null;8.rownum,rowid9.%第32

25、页DMLSELECT语句nvl, decode select nvl(gsjc,aa), gsjc from jc_gysxx;select sybz, decode(sybz,-1,新注册,1,待审批,2,正式用户,已冻结) sm from jc_gysxx第33页DMLSELECT语句to_date , to_char , substr -字符串转换成date select to_date(20141018101111,yyyy-MM-dd HH24:mi:ss) from dual; select to_char(sysdate,YYYYMMDDHH24MISS) from dual s

26、elect substr(abcde,2,3) from dual;从第二字符截,一共截三个字符.第34页DMLSELECT语句max,min,avg ,count,sum函数 select max(sxh) from gg_dmnr where fid=0048; select count(*) from gg_dmnr where fid=0048; select count(dmmc) from gg_dmnr; count某个字段,如果这个字段不为空就算一个. select count(distinct dmmc) from gg_dmnr; select sum(scjg) from

27、 fa_business_orderdetail t;select round(avg(scjg),2) from fa_business_orderdetail t;第35页DMLSELECT语句Group by语句 需求:现在想求,求每个机构类型平均注册奖金. select avg(zczj) from jc_gysxx group by jglx; select avg(zczj),jglx from jc_gysxx group by jglx 求注册奖金最高的公司. select gsmc,max(zczj) from jc_gysxx;出错,因为max只有一个值,但等于max值的人

28、可能好几个,不能匹配. 应如下求: select gsmc from jc_gysxx where zczj=(select max(zczj) from jc_gysxx; Group by语句应注意, 出现在select中的字段,如果没出现在组函数中,必须出现在Group by语句中.第36页DML表连接表连接 通过表连接运算符可以实现多表查询。表连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志关联多表提取数据分为:内连接(相等及不等连接)、外连接(显示不满足条件的记录),交叉连接如果不加where条件,将出现T1(all row) T2(all row),笛卡尔乘积,一般情况下是没有实际意义当n个表连接时,需要n-1个连接条件第37页DML表连接内连接(相等)语法: se

温馨提示

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

评论

0/150

提交评论