数据库基础理论—体系结构

上传人:xmg****18 文档编号:118691057 上传时间:2019-12-22 格式:PPT 页数:44 大小:1.27MB
返回 下载 相关 举报
数据库基础理论—体系结构_第1页
第1页 / 共44页
数据库基础理论—体系结构_第2页
第2页 / 共44页
数据库基础理论—体系结构_第3页
第3页 / 共44页
数据库基础理论—体系结构_第4页
第4页 / 共44页
数据库基础理论—体系结构_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《数据库基础理论—体系结构》由会员分享,可在线阅读,更多相关《数据库基础理论—体系结构(44页珍藏版)》请在金锄头文库上搜索。

1、LHNPC数据库基础知识培训 目目 录录 常用的几种数据库介绍1 数据库基础理论2 3 4 客户端配置 5 SQL语言的使用 常用的几种数据库介绍 目前,商品化的数据库管理系统以关系型数据 库为主导产品,技术比较成熟。面向对象的数据库 管理系统虽然技术先进,数据库易于开发、维护, 但尚未有成熟的产品。国际国内的主导关系型数据 库管理系统有ORACLE、SQLSERVER、SYBASE、 INFORMIX和DB2等。这些产品都支持多平台,如 UNIX、VMS、WINDOWS,但支持的程度不一样。 其他小型的数据库有:Access、Foxpro等,这 类数据库灵活易用,但不支持大型应用。 常用的几

2、种数据库介绍 vInformix数据库 美国InfomixSoftware公司研制的关系型数据库管理系统。 Informix有Informix-SE和Informix-Online两种版本。 vOracle数据库 美国Orcale公司研制的一种关系型数据库管理系统,是一个 协调服务器和用于支持任务决定型应用程序的开放型RDBMS。 vDB2数据库 IBM公司研制的一种关系型数据库系统。DB2主要应用于大型 应用系统,具有较好的可伸缩性,可支持从大型机到单用户 环境,应用于OS/2、Windows等平台下。 常用的几种数据库介绍 v SQL Server数据库 Microsoft公司推出的一种关

3、系型数据库系统。主要用于 Windows平台。 v Sybase数据库 美国Sybase公司研制的一种关系型数据库系统,是一种典型 的UNIX或Windows平台上客户机/服务器环境下的大型数据库 系统。 v Foxpro、Access数据库 Microsoft公司推出的微机数据库管理系统。它具有界面友 好、易学易用、开发简单、接口灵活等特点。 数据库基础理论 5、游标 2、数据字典 1、数据库体系结构 6、数据库设计 3、索引 4、存储过程 数据库 数据库基础理论体系结构 两种数据库的 体系结构 ORACLE 数据 库中的最小存 储和处理单位 是数据块 。 数据库基础理论体系结构 在 SQL

4、 Server 中,页的大小为 8 KB。这 意味着 SQL Server 数据库中每 MB 有 128 页 。每页的开头是 96 字节的标头,用于存储有 关页的系统信息。 数据库基础理论体系结构 在 SQL Server 上创建了一个数据库。该数 据库包括一个主数据文件、一个用户定义文件组 和一个日志文件。 数据库基础理论体系结构 vOracle系统体系结构是整个Oracle服务器系统的框 架,是管理和应用Oracle数据服务器的基础和核心 。 vOracle系统体系结构由三部分组成:逻辑结构、物 理结构和实例。其中,实例是维系物理结构和逻辑 结构的核心。 数据库基础理论体系结构 v逻辑结构

5、指是用户所看到和使用的数据库,表 示了一个或一些特定用户使用的数据集合,即逻 辑记录的集合。 v物理结构主要包括数据文件、控制文件和重做 日志文件等。 v实例是Oracle在内存中分配的一段区域SGA(系 统全局区 )和服务器后台进程的集合。Oracle数 据库服务器就是数据库和实例的组合。 数据库基础理论体系结构 体系结构三部分之间的关系 数据库基础理论体系结构 Oracle 10g数据库层次结构图 数据库基础理论数据字典 v所有方案对象的定义,如:表、视图、索引、聚簇 、同义词、序列、过程、函数、包、触发器等。 v数据字典中包括两部分信息:基表和提供给用户访 问的视图。所有的数据字典都保存

6、在SYSTEM表空间 中。 数据库基础理论数据字典 的系统表 数据字典 存储 SqlServer vSysobjects vSyscolumns vSysindexes v Oracle vDba_tables vDba_users vDba_indexs v 数据库基础理论索引 v索引会增加速度的原理 数据库在执行一条Sql语句的时候,默认的方式是根据搜 索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。 如果我们对某一字段增加索引,查询时就会先去索引列表中一 次定位到特定值的行数,大大减少遍历匹配的行数,所以能明 显增加查询的速度。 数据库基础理论索引 v普通索引建立语句 q创建索引

7、CREATE INDEX ON tablename (列的列表); q修改表时 ALTER TABLE tablename ADD INDEX 索引的名字 (列的列表); q创建表时 CREATE TABLE tablename ( ., INDEX 索引的名字 (列的列表) ); 数据库基础理论索引 v不适合建索引的地方 q如果每次都需要取到所有表记录,无论如何都必须进 行全表扫描了,那么是否加索引也没有意义了。 q对非唯一的字段,例如“性别”这种大量重复值的字 段,增加索引也没有什么意义。 q对于记录比较少的表,增加索引不会带来速度的优化 反而浪费了存储空间,因为索引是需要存储空间的, 而

8、且有个致命缺点是对于update/insert/delete的每 次执行,字段的索引都必须重新计算更新。 数据库基础理论存储过程 v什么是存储过程 存储过程是由流控制和sql语句书写的过程,这 个过程经编译和优化后存储在数据库服务器中, 应用程序使用时只要调用即可。在Oracle中,若 干个有联系的过程可以组合在一起构成程序包。 数据库基础理论存储过程 v优点 q 执行速度比普通的SQL语句快 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重 新编译,而一般SQL语句每执行一次就编译一次。 q 可保证数据的安全性和完整性。 通过存储过程可以使没有权限的用户在控制之下间接地存取数据库

9、,从而保证数据的安全。同时,存储过程的执行是作为一个整体进 行的,执行不成功时,会自动回滚,从而保证了数据的完整性。 q 可将体现企业规则的运算程序放入数据库服务器中,以便集中控制 ,减少业务变更时的工作量。 q 可以降低网络的通信量。 数据库基础理论游标 游标是系统为用户开设的一个数据缓冲区,存放 SQL语句的执行结果。 我们可以从某一结果集中逐一地读取一条记录 。 数据库基础理论游标 v 声明游标 declare my_cursor cursor keyset for select * from info v 删除游标资源 deallocate my_cursor v 打开游标,在游标关闭

10、或删除前都有效 open my_cursor v 关闭游标 close my_cursor v 定位到当前记录后一条 fetch next from my_cursor into id,name,address select id as id,name as name,address as address 数据库基础理论数据库设计 v数据库的设计需要有经验的工程师在通盘考虑业务 的需求后才能做好的。 v数据库设计的实用原则是:在数据冗余和处理速度 之间找到合适的平衡点。 v冗余最大的威胁是数据的一致性,对于大系统,如 果数据库设计有冗余,为了保持数据一致性给编程 增加大量工作。 数据库基础理论

11、数据库设计 v数据库设计原则三个范式 q第一范式:1NF是对属性的原子性约束,要求属性具有 原子性,不可再分解; q第二范式:2NF是对记录的惟一性约束,要求记录有惟 一标识,即实体的惟一性; q第三范式:3NF是对字段冗余性的约束,即任何字段不 能由其他字段派生出来,它要求字段没有冗余。 SQL语言的使用 SQL 3、创建和 管理表 4、视图 2、数据控 制语言 5、控制用 户权限 1、Select语 句的功能 SQL语言的使用Select语句 基本 SELECT 语句语法 SELECT*|DISTINCT column|expression alias,. FROMtable; vSELE

12、CT 标识 选择哪些列。 vFROM 标识从哪个表中选择。 SQL语言的使用Select语句 基本 SELECT 语句语法 SELECT * FROM departments where dept_id = 10 and ; SELECT department_id, location_id FROM departments; SELECT last_name, salary, salary + 300 FROM employees; SQL语言的使用Select语句 使用别名 SELECT last_name AS name, commission_pct comm FROM employe

13、es; SELECT last_name Name, salary*12 Annual Salary FROM employees; SQL语言的使用Select语句 删除重复行 在 SELECT 子句中使用关键字DISTINCT删除重复行。 SELECT DISTINCT department_id FROM employees; SQL语言的使用数据控制语言 数据控制语言 vDML 可以在下列条件下执行: q向表中插入数据 q修改现存数据 q删除现存数据 v事务是由完成若干项工作的DML语句组成的 。 SQL语言的使用数据控制语言 插入数据 DEPARTMENTS 新行 向向 DEPARM

14、ENTS 表中插入 新的记录 SQL语言的使用数据控制语言 插入数据 INSERT INTOtable (column , column.) VALUES(value , value.); INSERT INTO departments(department_id, department_name, manager_id, location_id) VALUES (70, Public Relations, 100, 1700); 1 row created. INSERT INTO sales_reps(id, name, salary, commission_pct) SELECT emp

15、loyee_id, last_name, salary, commission_pct FROM employees WHERE job_id LIKE %REP%; 4 rows created. SQL语言的使用数据控制语言 更新数据 EMPLOYEES 更新 EMPLOYEES 表 SQL语言的使用数据控制语言 更新数据 UPDATE table SET column = value , column = value, . WHERE condition; UPDATE employees SET department_id = 70 WHERE employee_id = 113; 1 row updated. UPDATE copy_emp SET department_id = 110; 22 rows updated. SQL语言的使用数据控制语言 删除数据 DELETE FROM departments WHERE department_name = Finance; 1 row deleted. 使用 DELETE 语句从表中删除数据。 DELETE FROM table WHERE condition; SQL

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号