Presentation on theme: “数据库基础知识培训.”— Presentation transcript:
1 数据库基础知识培训
2 目 录 1常用的几种数据库介绍2数据库基础理论SQL语言的使用3客户端配置4 5
3 其他小型的数据库有:Access、Foxpro等,这类数据库灵活易用,但不支持大型应用。
常用的几种数据库介绍目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有ORACLE、SQLSERVER、SYBASE、INFORMIX和DB2等。这些产品都支持多平台,如UNIX、VMS、WINDOWS,但支持的程度不一样。其他小型的数据库有:Access、Foxpro等,这类数据库灵活易用,但不支持大型应用。
4 美国Orcale公司研制的一种关系型数据库管理系统,是一个协调服务器和用于支持任务决定型应用程序的开放型RDBMS。 DB2数据库
常用的几种数据库介绍Informix数据库美国InfomixSoftware公司研制的关系型数据库管理系统。Informix有Informix-SE和Informix-Online两种版本。Oracle数据库美国Orcale公司研制的一种关系型数据库管理系统,是一个协调服务器和用于支持任务决定型应用程序的开放型RDBMS。DB2数据库IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。
5 常用的几种数据库介绍 Microsoft公司推出的一种关系型数据库系统。主要用于Windows平台。
SQL Server数据库Microsoft公司推出的一种关系型数据库系统。主要用于Windows平台。Sybase数据库美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或Windows平台上客户机/服务器环境下的大型数据库系统。Foxpro、Access数据库Microsoft公司推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点。
6 数据库基础理论5、游标2、数据字典1、数据库体系结构6、数据库设计3、索引4、存储过程数据库
7 数据库基础理论—体系结构 两种数据库的体系结构 SQL Server 中数据存储基本单位是页。
ORACLE 数据库中的最小存储和处理单位是数据块 。
8 数据库基础理论—体系结构在 SQL Server 中,页的大小为 8 KB。这意味着 SQL Server 数据库中每 MB 有 128 页。每页的开头是 96 字节的标头,用于存储有关页的系统信息。
9 数据库基础理论—体系结构 在 SQL Server 上创建了一个数据库。该数据库包括一个主数据文件、一个用户定义文件组和一个日志文件。
10 Oracle系统体系结构是整个Oracle服务器系统的框架,是管理和应用Oracle数据服务器的基础和核心。
数据库基础理论—体系结构Oracle系统体系结构是整个Oracle服务器系统的框架,是管理和应用Oracle数据服务器的基础和核心。Oracle系统体系结构由三部分组成:逻辑结构、物理结构和实例。其中,实例是维系物理结构和逻辑结构的核心。
11 逻辑结构指是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库基础理论—体系结构逻辑结构指是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。物理结构主要包括数据文件、控制文件和重做日志文件等。实例是Oracle在内存中分配的一段区域SGA(系统全局区 )和服务器后台进程的集合。Oracle数据库服务器就是数据库和实例的组合。
12 数据库基础理论—体系结构体系结构三部分之间的关系
13 数据库基础理论—体系结构Oracle 10g数据库层次结构图
14 所有方案对象的定义,如:表、视图、索引、聚簇、同义词、序列、过程、函数、包、触发器等。
数据库基础理论—数据字典所有方案对象的定义,如:表、视图、索引、聚簇、同义词、序列、过程、函数、包、触发器等。数据字典中包括两部分信息:基表和提供给用户访问的视图。所有的数据字典都保存在SYSTEM表空间中。
15 数据库基础理论—数据字典 SqlServer Oracle 存储 数据字典 的系统表 Sysobjects Dba_tables
SyscolumnsSysindexes… …OracleDba_tablesDba_usersDba_indexs… …存储数据字典的系统表
16 数据库基础理论—索引 索引会增加速度的原理
数据库在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。
17 数据库基础理论—索引 普通索引建立语句 创建索引 修改表时 创建表时
CREATE INDEX <索引的名字> ON tablename (列的列表);修改表时ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);创建表时CREATE TABLE tablename ( […], INDEX [索引的名字] (列的列表) );
18 数据库基础理论—索引 不适合建索引的地方 如果每次都需要取到所有表记录,无论如何都必须进行全表扫描了,那么是否加索引也没有意义了。
对非唯一的字段,例如“性别”这种大量重复值的字段,增加索引也没有什么意义。对于记录比较少的表,增加索引不会带来速度的优化反而浪费了存储空间,因为索引是需要存储空间的,而且有个致命缺点是对于update/insert/delete的每次执行,字段的索引都必须重新计算更新。
19 数据库基础理论—存储过程什么是存储过程存储过程是由流控制和sql语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在Oracle中,若干个有联系的过程可以组合在一起构成程序包。
20 数据库基础理论—存储过程 优点执行速度比普通的SQL语句快 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次。可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。同时,存储过程的执行是作为一个整体进行的,执行不成功时,会自动回滚,从而保证了数据的完整性。可将体现企业规则的运算程序放入数据库服务器中,以便集中控制,减少业务变更时的工作量。可以降低网络的通信量。
21 我们可以从某一结果集中逐一地读取一条记录。
数据库基础理论—游标游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。我们可以从某一结果集中逐一地读取一条记录。
22 数据库基础理论—游标 声明游标 declare my_cursor cursor keyset for select * from info
删除游标资源deallocate my_cursor打开游标,在游标关闭或删除前都有效open my_cursor关闭游标close my_cursor定位到当前记录后一条fetch next from my_cursor intoas as as address
23 数据库的设计需要有经验的工程师在通盘考虑业务的需求后才能做好的。
数据库基础理论—数据库设计数据库的设计需要有经验的工程师在通盘考虑业务的需求后才能做好的。数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点。冗余最大的威胁是数据的一致性,对于大系统,如果数据库设计有冗余,为了保持数据一致性给编程增加大量工作。
24 数据库基础理论—数据库设计 数据库设计原则三个范式 第一范式:1NF是对属性的原子性约束,要求属性具有 原子性,不可再分解;
25 SQL SQL语言的使用 1、Select语句的功能 5、控制用户权限 2、数据控制语言 4、视图 3、创建和管理表
26 基本 SELECT 语句语法 SQL语言的使用—Select语句 SELECT 标识 选择哪些列。 FROM 标识从哪个表中选择。
SELECT *|{[DISTINCT] column|expression [alias],…}FROM table;SELECT 标识 选择哪些列。FROM 标识从哪个表中选择。
27 基本 SELECT 语句语法 SQL语言的使用—Select语句
SELECT * FROM departments where dept_id = 10 and …;SELECT department_id, location_id FROM departments;SELECT last_name, salary, salary FROM employees;
28 SQL语言的使用—Select语句 使用别名 … …
SELECT last_name AS name, commission_pct commFROM employees;…SELECT last_name “Name”, salary*12 “Annual Salary”FROM employees;…
29 SQL语言的使用—Select语句 删除重复行 在 SELECT 子句中使用关键字‘DISTINCT’删除重复行。
SELECT DISTINCT department_idFROM employees;
30 数据控制语言 SQL语言的使用—数据控制语言 DML 可以在下列条件下执行: 事务是由完成若干项工作的DML语句组成的。 向表中插入数据
修改现存数据删除现存数据事务是由完成若干项工作的DML语句组成的。
31 插入数据 SQL语言的使用—数据控制语言 新行 DEPARTMENTS 向 DEPARMENTS 表中插入 新的记录
32 插入数据 SQL语言的使用—数据控制语言 INSERT INTO table [(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 employee_id, last_name, salary, commission_pctFROM employeesWHERE job_id LIKE ‘%REP%’;4 rows created.
33 SQL语言的使用—数据控制语言更新数据EMPLOYEES更新 EMPLOYEES 表
34 更新数据 SQL语言的使用—数据控制语言 UPDATE table SET column = value
[, column = value, …] [WHERE condition];UPDATE employees SET department_id = 70WHERE employee_id = 113;1 row updated.UPDATE copy_empSET department_id = 110;22 rows updated.
35 删除数据 SQL语言的使用—数据控制语言 使用 DELETE 语句从表中删除数据。 DELETE [FROM] table
[WHERE condition];DELETE FROM departmentsWHERE department_name = ‘Finance’;1 row deleted.
36 常见的数据库对象 SQL语言的使用—创建和管理表 对象 描述 表 基本的数据存储集合,由行和列组成。
对象 描述表 基本的数据存储集合,由行和列组成。视图 从表中抽出的逻辑上相关的数据集合。序列 提供有规律的数值。索引 提高查询的效率同义词 给对象起别名
37 常见的数据库对象的管理 SQL语言的使用—创建和管理表 语句 描述 CREATE TABLE 创建表 ALTER TABLE 修改表结构
语句 描述CREATE TABLE 创建表ALTER TABLE 修改表结构DROP TABLE 删除表RENAME 重命名表TRUNCATE 删除表中的所有数据,并释放存储空间COMMENT 给对象加注释
38 SQL语言的使用—视图表EMPLOYEES :
39 SQL语言的使用—视图为什么使用视图控制数据访问简化查询数据独立性避免重复访问相同的数据
40 SQL语言的使用—控制用户权限 语句 功能 CREATE USER 创建用户 (通常由 DBA 完成) GRANT 分配权限
语句 功能CREATE USER 创建用户 (通常由 DBA 完成)GRANT 分配权限CREATE ROLE 创建角色 (通常由 DBA 完成)ALTER USER 修改用户密码REVOKE 收回权限
41 SQL语言的使用—控制用户权限 数据库联接 数据库联接使用户可以在本地访问远程数据库 本地数据库 远程数据库 EMP Table
SELECT * FROMHQ_ACME.COMdatabase
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/313630.html