1、数据库简介 内容常用的几种数据库介绍常用的几种数据库介绍1 1数据库基础理论数据库基础理论2 23 34 4客户端配置客户端配置 SQL语言的使用语言的使用常用的几种数据库介绍 目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有ORACLE、SQLSERVER、SYBASE、INFORMIX和DB2等。这些产品都支持多平台,如UNIX、VMS、WINDOWS,但支持的程度不一样。其他小型的数据库有:Access、Foxpro等,这类数据库灵活易用,但不支持大型应
2、用。常用的几种数据库介绍Informix数据库美国InfomixSoftware公司研制的关系型数据库管理系统。Informix有Informix-SE和Informix-Online两种版本。Oracle数据库 美国Orcale公司研制的一种关系型数据库管理系统,是一个协调服务器和用于支持任务决定型应用程序的开放型RDBMS。DB2数据库IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。常用的几种数据库介绍SQL Server数据库 Microsoft公司推出的一种关系型数据库系统。主要
3、用于Windows平台。Sybase数据库美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或Windows平台上客户机/服务器环境下的大型数据库系统。Foxpro、Access数据库 Microsoft公司推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点。数据库基础理论5 5、游标游标2 2、数据字典数据字典1 1、数据库体系结构、数据库体系结构6 6、数据库设计数据库设计3 3、索引、索引4 4、存储过程存储过程数据库数据库数据库基础理论体系结构SQL Server 中数据存储基本单位是页。两种数据库的两种数据库的体系结构体系结构ORACLE
4、数据库中的最小存储和处理单位是数据块。数据库基础理论体系结构 在 SQL Server 中,页的大小为 8 KB。这意味着 SQL Server 数据库中每 MB 有 128 页。每页的开头是 96 字节的标头,用于存储有关页的系统信息。数据库基础理论体系结构 在 SQL Server 上创建了一个数据库。该数据库包括一个主数据文件、一个用户定义文件组和一个日志文件。数据库基础理论体系结构Oracle系统体系结构是整个Oracle服务器系统的框架,是管理和应用Oracle数据服务器的基础和核心。Oracle系统体系结构由三部分组成:逻辑结构、物理结构和实例。其中,实例是维系物理结构和逻辑结构的
5、核心。数据库基础理论体系结构逻辑结构指是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。物理结构主要包括数据文件、控制文件和重做日志文件等。实例是Oracle在内存中分配的一段区域SGA(系统全局区)和服务器后台进程的集合。Oracle数据库服务器就是数据库和实例的组合。数据库基础理论体系结构体系结构三部分之间的关系体系结构三部分之间的关系数据库基础理论数据库基础理论体系结构体系结构Oracle 10g数据库层次结构图 数据库基础理论数据字典所有方案对象的定义,如:表、视图、索引、聚簇、同义词、序列、过程、函数、包、触发器等。数据字典中包括两部分信息:基表和
6、提供给用户访问的视图。所有的数据字典都保存在SYSTEM表空间中。数据库基础理论数据字典的系统表的系统表数据字典数据字典存储存储SqlServerSqlServervSysobjectsvSyscolumnsvSysindexesv OracleOraclevDba_tablesvDba_usersvDba_indexsv 数据库基础理论索引v索引会增加速度的原理索引会增加速度的原理 数据库在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能
7、明显增加查询的速度。数据库基础理论索引v普通索引建立语句普通索引建立语句q创建索引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 可以降低网络的通信量。数据库基础理论游标 游标是系统为用户开设的一个数据缓冲区,存放游标是系统为用户开设的一个数据缓冲区,存放SQLSQL语句的执行结果。语句的执行结果。我们可以从某一结果集中逐一地读取一条记录。我们可以从某一结果集中逐一地读取一条记录。数据库基础理论游标v 声明游标声明游标declare my_cursor cursor
10、keyset for select declare my_cursor cursor keyset for select*from info from infov 删除游标资源删除游标资源deallocate my_cursordeallocate my_cursorv 打开游标打开游标,在游标关闭或删除前都有效在游标关闭或删除前都有效open my_cursoropen my_cursorv 关闭游标关闭游标close my_cursorclose my_cursorv 定位到当前记录后一条定位到当前记录后一条fetch next from my_cursor into id,name,ad
11、dressfetch next from my_cursor into id,name,addressselect id as id,name as name,address as addressselect id as id,name as name,address as 数据库基础理论数据库设计v数据库的设计需要有经验的工程师在通盘考虑业务的需求后才能做好的。v数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点。v冗余最大的威胁是数据的一致性,对于大系统,如果数据库设计有冗余,为了保持数据一致性给编程增加大量工作。数据库基础理论数据库设计 数据库设计原则三个范式 第一范式:1
12、NF是对属性的原子性约束,要求属性具有 原子性,不可再分解;第二范式:2NF是对记录的惟一性约束,要求记录有惟 一标识,即实体的惟一性;第三范式:3NF是对字段冗余性的约束,即任何字段不 能由其他字段派生出来,它要求字段没有冗余。SQL语言的使用SQLSQL3 3、创建和创建和管理表管理表4 4、视图视图 2 2、数据控数据控制语言制语言5 5、控制用控制用户权限户权限1 1、SelectSelect语语句的功能句的功能SQL语言的使用Select语句基本基本 SELECT SELECT 语句语法语句语法SELECT*|DISTINCT column|expression alias,.FRO
13、Mtable;SELECT 标识 选择哪些列。FROM 标识从哪个表中选择。SQL语言的使用Select语句基本基本 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 commFROM
14、 employees;SELECT last_name Name,salary*12 Annual SalaryFROM employees;SQL语言的使用Select语句删除重复行删除重复行 在在 SELECT SELECT 子句中使用关键字子句中使用关键字DISTINCTDISTINCT删除重复行。删除重复行。SELECT DISTINCT department_idFROM employees;SQL语言的使用数据控制语言数据控制语言数据控制语言 DML 可以在下列条件下执行:向表中插入数据 修改现存数据 删除现存数据 事务是由完成若干项工作的DML语句组成的。SQL语言的使用数据控制
15、语言插入数据插入数据DEPARTMENTS 新行新行 DEPARMENTS 表中插入表中插入新的记录新的记录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,comm
16、ission_pct)SELECT employee_id,last_name,salary,commission_pct FROM employees WHERE job_id LIKE%REP%;4 rows SQL语言的使用数据控制语言更新数据更新数据EMPLOYEES更新更新 EMPLOYEES 表表SQL语言的使用数据控制语言更新数据更新数据UPDATE table SET column=value,column=value,.WHERE condition;UPDATE employees SET department_id=70WHERE employee_id=113;1 ro
17、w updated.UPDATE copy_empSET department_id=110;22 rows SQL语言的使用数据控制语言删除数据删除数据DELETE FROM departments WHERE department_name=Finance;1 row deleted.使用 DELETE 语句从表中删除数据。DELETE FROM tableWHERE condition;SQL语言的使用创建和管理表常见的数据库对象常见的数据库对象对象对象描述描述表表 基本的数据存储集合,由行和列组成。基本的数据存储集合,由行和列组成。视图视图从表中抽出的逻辑上相关的数据集合。从表中抽出的
18、逻辑上相关的数据集合。序列序列 提供有规律的数值。提供有规律的数值。索引索引提高查询的效率提高查询的效率同义词同义词 给对象起别名给对象起别名SQL语言的使用创建和管理表常见的数据库对象的管理常见的数据库对象的管理语句语句描述描述CREATE TABLE 创建表创建表ALTER TABLE 修改表结构修改表结构 DROP TABLE 删除表删除表RENAME 重命名表重命名表TRUNCATE 删除表中的所有数据,并释放存储空间删除表中的所有数据,并释放存储空间COMMENT 给对象加注释给对象加注释SQL语言的使用视图表表EMPLOYEES:SQL语言的使用视图为什么使用视图为什么使用视图 控制数据访问 简化查询 数据独立性 避免重复访问相同的数据SQL语言的使用控制用户权限语句功能CREATE USER创建用户(通常由 DBA 完成)GRANT分配权限CREATE ROLE创建角色(通常由 DBA 完成)ALTER USER修改用户密码REVOKE收回权限SQL语言的使用控制用户权限数据库联接数据库联接数据库联接使用户可以在本地访问远程数据库 本地数据库本地数据库远程数据库远程数据库SELECT*FROM empHQ_ACME.COM;HQ_ACME.COMdatabaseEMP T客户端配置实例演示实例演示
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。