数据库基础理论—体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UPDATE employees SET department_id = 70 WHERE employee_id = 113; 1 row updated.
❖ Foxpro、Access数据库 Microsoft公司推出的微机数据库管理系统。它具有界面友 好、易学易用、开发简单、接口灵活等特点。
www.lhnp.com.cn
数据库基础理论 6、数据库设计
1、数据库体系结构
5、游标
数据库
2、数据字典
4、存储过程
3、索引
www.lhnp.com.cn
数据库基础理论—体系结构
www.lhnp.com.cn
SQL语言的使用—Select语句
基本 SELECT 语句语法
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM
table;
❖SELECT 标识 选择哪些列。 ❖FROM 标识从哪个表中选择。
www.lhnp.com.cn
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;
第二范式:2NF是对记录的惟一性约束,要求记录有惟 一标识,即实体的惟一性;
第三范式:3NF是对字段冗余性的约束,即任何字段不 能由其他字段派生出来,它要求字段没有冗余。
www.lhnp.com.cn
SQL语言的使用
5、控制用 户权限
1、Select语 句的功能
4、视图
SQL
2、数据控
制语言
3、创建和 管理表
❖ Oracle数据库
美国Orcale公司研制的一种关系型数据库管理系统,是一个 协调服务器和用于支持任务决定型应用程序的开放型RDBMS。
❖ DB2数据库
IBM公司研制的一种关系型数据库系统。DB2主要应用于大型 应用系统,具有较好的可伸缩性,可支持从大型机到单用户 环境,应用于OS/2、Windows等平台下。
❖ 数据库设计的实用原则是:在数据冗余和处理速度 之间找到合适的平衡点。
❖ 冗余最大的威胁是数据的一致性,对于大系统,如 果数据库设计有冗余,为了保持数据一致性给编程 增加大量工作。
www.lhnp.com.cn
数据库基础理论—数据库设计
❖ 数据库设计原则三个范式
第一范式:1NF是对属性的原子性约束,要求属性具有 原子性,不可再分解;
❖ 优点
执行速度比普通的SQL语句快 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重 新编译,而一般SQL语句每执行一次就编译一次。
可保证数据的安全性和完整性。 通过存储过程可以使没有权限的用户在控制之下间接地存取数据库, 从而保证数据的安全。同时,存储过程的执行是作为一个整体进行 的,执行不成功时,会自动回滚,从而保证了数据的完整性。
两种数据库的 体系结构
SQL Server 中数据存储基 本单位是页。
ORACLE 数据 库中的最小存 储和处理单位 是数据块 。
www.lhnp.com.cn
数据库基础理论—体系结构 在 SQL Server 中,页的大小为 8 KB。这
意味着 SQL Server 数据库中每 MB 有 128 页。 每页的开头是 96 字节的标头,用于存储有关 页的系统信息。
www.lhnp.com.cn
常用的几种数据库介绍
❖ SQL Server数据库 Microsoft公司推出的一种关系型数据库系统。主要用于 Windows平台。
❖ Sybase数据库 美国Sybase公司研制的一种关系型数据库系统,是一种典型 的UNIX或Windows平台上客户机/服务器环境下的大型数据库 系统。
www.lhnp.com.cn
数据库基础理论—索引
❖索引会增加速度的原理
数据库在执行一条Sql语句的时候,默认的方式是根据搜 索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。 如果我们对某一字段增加索引,查询时就会先去索引列表中一 次定位到特定值的行数,大大减少遍历匹配的行数,所以能明 显增加查询的速度。
www.lhnp.com.cn
数据库基础理论—体系结构
在 SQL Server 上创建了一个数据库。该数 据库包括一个主数据文件、一个用户定义文件组 和一个日志文件。
www.lhnp.com.cn
数据库基础理论—体系结构 ❖ Oracle系统体系结构是整个Oracle服务器系统的框
架,是管理和应用Oracle数据服务器的基础和核心。 ❖ Oracle系统体系结构由三部分组成:逻辑结构、物
www.lhnp.com.cn
SQL语言的使用—Select语句 使用别名
SELECT last_name AS name, commission_pct comm FROM employees;
…
SELECT last_name "Name", salary*12 "Annual Salary" FROM employees;
❖ 数据字典中包括两部分信息:基表和提供给用户访 问的视图。所有的数据字典都保存在SYSTEM表空间 中。
www.lhnp.com.cn
数据库基础理论—数据字典
SqlServer
❖Sysobjects ❖Syscolumns ❖Sysindexes ❖… …
存储 数据字典 的系统表
Oracle
❖Dba_tables ❖Dba_users ❖Dba_indexs ❖… …
4 rows created.
www.lhnp.com.cn
SQL语言的使用—数据控制语言
更新数据
EMPLOYEES
更新 EMPLOYEES 表
www.lhnp.com.cn
SQL语言的使用—数据控制语言
更新数据
UPDATE table SET column = value [, column = value, ...] [WHERE condition];
…
www.lhnp.com.cn
SQL语言的使用—Select语句 删除重复行
在 SELECT 子句中使用关键字‘DISTINCT’删除重复行。
SELECT DISTINCT department_id FROM employees;
www.lhnp.com.cn
SQL语言的使用—数据控制语言
数据控制语言
www.lhnp.com.cn
源自文库
数据库基础理论—索引
❖ 普通索引建立语句
创建索引
CREATE INDEX <索引的名字> ON tablename (列的列表);
修改表时
ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);
创建表时
CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) );
其他小型的数据库有:Access、Foxpro等,这 类数据库灵活易用,但不支持大型应用。
www.lhnp.com.cn
常用的几种数据库介绍
❖ Informix数据库
美国InfomixSoftware公司研制的关系型数据库管理系统。 Informix有Informix-SE和Informix-Online两种版本。
❖ 定位到当前记录后一条 fetch next from my_cursor into @id,@name,@address select @id as id,@name as name,@address as address
www.lhnp.com.cn
数据库基础理论—数据库设计
❖ 数据库的设计需要有经验的工程师在通盘考虑业务 的需求后才能做好的。
www.lhnp.com.cn
数据库基础理论—存储过程 ❖ 什么是存储过程
存储过程是由流控制和sql语句书写的过程,这 个过程经编译和优化后存储在数据库服务器中, 应用程序使用时只要调用即可。在Oracle中,若 干个有联系的过程可以组合在一起构成程序包。
www.lhnp.com.cn
数据库基础理论—存储过程
LHNPC数据库基础知识培训
目录
1 常用的几种数据库介绍 2 数据库基础理论 3 SQL语言的使用 4 客户端配置 5
www.lhnp.com.cn
常用的几种数据库介绍
目前,商品化的数据库管理系统以关系型数据库 为主导产品,技术比较成熟。面向对象的数据库管 理系统虽然技术先进,数据库易于开发、维护,但 尚未有成熟的产品。国际国内的主导关系型数据库 管理系统有ORACLE、SQLSERVER、SYBASE、 INFORMIX和DB2等。这些产品都支持多平台,如 UNIX、VMS、WINDOWS,但支持的程度不一样。
数据库基础理论—游标
❖ 声明游标 declare my_cursor cursor keyset for select * from info
❖ 删除游标资源 deallocate my_cursor
❖ 打开游标,在游标关闭或删除前都有效 open my_cursor
❖ 关闭游标 close my_cursor
插入数据
INSERT INTO table [(column [, column...])]
VALUES
(value [, value...]);
INSERT INTO departments(department_id, department_name,
manager_id, location_id)
❖DML 可以在下列条件下执行:
向表中插入数据 修改现存数据 删除现存数据
❖ 事务是由完成若干项工作的DML语句组成的。
www.lhnp.com.cn
SQL语言的使用—数据控制语言
插入数据
DEPARTMENTS
新行 向 DEPARMENTS
表中插入 新的记录
www.lhnp.com.cn
SQL语言的使用—数据控制语言
www.lhnp.com.cn
数据库基础理论—索引
❖ 不适合建索引的地方
如果每次都需要取到所有表记录,无论如何都必须进 行全表扫描了,那么是否加索引也没有意义了。
对非唯一的字段,例如“性别”这种大量重复值的字 段,增加索引也没有什么意义。
对于记录比较少的表,增加索引不会带来速度的优化 反而浪费了存储空间,因为索引是需要存储空间的, 而且有个致命缺点是对于update/insert/delete的每 次执行,字段的索引都必须重新计算更新。
VALUES
(70, 'Public Relations', 100, 1700);
1 row created.
INSERT INTO sales_reps(id, name, salary, commission_pct) SELECT employee_id, last_name, salary, commission_pct FROM employees WHERE job_id LIKE '%REP%';
www.lhnp.com.cn
数据库基础理论—体系结构
体系结构三部分之间的关系
www.lhnp.com.cn
数据库基础理论—体系结构 Oracle 10g数据库层次结构图
www.lhnp.com.cn
数据库基础理论—数据字典 ❖ 所有方案对象的定义,如:表、视图、索引、聚簇、
同义词、序列、过程、函数、包、触发器等。
可将体现企业规则的运算程序放入数据库服务器中,以便集中控制, 减少业务变更时的工作量。
可以降低网络的通信量。
www.lhnp.com.cn
数据库基础理论—游标 游标是系统为用户开设的一个数据缓冲区,存放
SQL语句的执行结果。 我们可以从某一结果集中逐一地读取一条记录。
www.lhnp.com.cn
理结构和实例。其中,实例是维系物理结构和逻辑 结构的核心。
www.lhnp.com.cn
数据库基础理论—体系结构
❖逻辑结构指是用户所看到和使用的数据库,表 示了一个或一些特定用户使用的数据集合,即逻 辑记录的集合。
❖物理结构主要包括数据文件、控制文件和重做 日志文件等。
❖实例是Oracle在内存中分配的一段区域SGA(系 统全局区 )和服务器后台进程的集合。Oracle数 据库服务器就是数据库和实例的组合。