470 likes | 638 Vues
数据库技术. 为什么要学数据库. 政务的影响 商务的影响 科学研究的影响 人们生活的影响 国防的影响 其影响无处不在!. 为什么要学数据库. 现实生活的需要:查找物流单号. 数据库是数据管理的最新技术,是计算机科学的重要分支。 对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的重要标志。因此,数据库课程是计算机科学与技术专业、信息管理专业的重要课程。. 数据库系统概述 在系统地介绍数据库的基本概念之前,本节首先介绍一些数据库最常用的术语和基本概念:
E N D
为什么要学数据库 • 政务的影响 • 商务的影响 • 科学研究的影响 • 人们生活的影响 • 国防的影响 • 其影响无处不在!
为什么要学数据库 • 现实生活的需要:查找物流单号
数据库是数据管理的最新技术,是计算机科学的重要分支。数据库是数据管理的最新技术,是计算机科学的重要分支。 对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的重要标志。因此,数据库课程是计算机科学与技术专业、信息管理专业的重要课程。
数据库系统概述 在系统地介绍数据库的基本概念之前,本节首先介绍一些数据库最常用的术语和基本概念: 数据、数据库、数据库管理系统、数据库系统 数据管理技术的产生和发展 数据库系统的特点
数据(Data) 描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等多种表现形式,它们都可以经过数字化后存入计算机。 数据库(DataBase,简称DB) 所谓数据库是长期存储在计算机内、有组织的、可共享的数据集合、数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统(DataBase Management System,简称DBMS) 数据库管理系统位于用户与操作系统之间的一层数据管理软件。它的主要功能包括以下几个方面: 数据定义功能 数据操纵功能 数据库的运行管理 数据库的建立和维护功能
数据库系统(DataBase System,简称DBS) 数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(Data Base Administrator,简称DBA)
数据库技术的产生和发展 数据库技术是应数据管理任务的需要而产生的。在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。
人工管理阶段 人工管理数据具有如下特点: (1)数据不保存 (2)应用程序管理数据:数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。 (3)数据不共享 (4)数据不具有独立性:数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,这就进一步加重了程序员的负担。
文件系统阶段 用文件系统管理数据具有如下特点: (1)数据可以长期保存 (2)由文件系统管理数据:文件系统实现了记录内的结构性,但整体无结构。程序和数据之间由文件系统提供存取方法进行转换,使应用程序与数据之间有了一定的独立性。 (3)数据共享性差,冗余度大 (4)数据独立性差
数据库系统阶段 20世纪60年代后期以来,硬件价格下降;软件则价格上升,为编制和维护系统软件及应用程序所需的成本相对增加;在处理方式上,联机实时处理要求更多,并开始提出和考虑分布处理。在这种背景下,以文件系统作为数据管理手段已经不能满足应用的需求,于是为了解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术便应运而生,出现了统一管理数据的专门软件系统┈┈┈数据库管理系统
数据库系统特点 数据结构化 数据共享性高、冗余度低,易扩充 数据独立性高 数据由DBMS统一管理和控制
DBMS还必须提供以下几方面的数据控制功能: (1)数据的安全性(Security)保护 (2)数据的完整性(Integrity)检查 (3)并发(Concurrency)控制 (4)数据库恢复(Recovery)
数据库管理阶段应用程序与数据之间的对应关系数据库管理阶段应用程序与数据之间的对应关系
我们现在最常用的是关系型数据库,除此之外,还有层次型数据库,网状数据库等等。我们现在最常用的是关系型数据库,除此之外,还有层次型数据库,网状数据库等等。 • 常见的数据库产品 SQL Server、Oracle、MySQL、Sybase、Access
为什么叫关系型数据库呢?因为此种数据库是以关系模型和关系演算为基础的。一般的关系型数据库有内模式,模式和外模式,内模式为DBMS所管理的内容,模式通常意义上就是我们所说的表,而外模式通常就是指视图了。为什么叫关系型数据库呢?因为此种数据库是以关系模型和关系演算为基础的。一般的关系型数据库有内模式,模式和外模式,内模式为DBMS所管理的内容,模式通常意义上就是我们所说的表,而外模式通常就是指视图了。
关系型数据库一般都支持事务,锁定等,最基本的锁类型有 X排它锁 S共享锁 同操作系统相似,可以产生死锁和活锁,一旦产生要根据一定的(决策?)来解除,并且有机制避免死锁和活锁。
SQL Server 版本 • 企业版、标准版:用于企业部署,必须安装到服务器级操作系统上,如Windows Server 2003或Windows Server 2008。 • 开发人员版:功能与企业版的功能相同,用于开发人员在开发中对数据库进行设计、调试等。可部署在Windows XP、Windows Vista等工作站操作系统上。 • Express:免费的,功能最少,但对于普通的数据库开发已经足够。另外在微软的官方网站上有SQL Server Management Studio Express可下载,用来进行对数据库的图形化控制操作。Express的Advanced版本集成了Express、Management Studio Express和Reporting Service,也可以直接在微软的官方网站下载。:
系统数据库 1、master数据库 记录SQL Server系统级的信息,包括登陆账号信息、所有的系统配置设置信息、其它数据库的存储信息和SQL Server的初始化信息。 2、model数据库 是所有数据库的的一个模板,当使用Create Database语句时,新数据库的最初部分是复制的model数据库的内容,然后剩下的部分以空页面填充。
3、msdb数据库 是SQL Server Agent用来存储警告、任务和报表操作的数据库 4、tempdb数据库 是数据库实例的一个全局资源,用来保存所有的临时表和临时存储过程。也保存一些SQL Server产生的临时结果。它在SQL Server重新启动时会重建一个新的空数据库。
5、Resource 数据库 只读数据库,包含了SQL Server 2005中所有系统对象。它的实际名字是mssqlsystemresource,是一个隐藏的数据库。Resource 数据库依赖于 master 数据库的位置。如果移动了 master 数据库,则必须也将 Resource 数据库移动到相同的位置。
数据文件和日志文件 • 主数据文件 是数据库的起点,包含了数据库的初始信息,只能有一个主数据文件,扩展名为.mdf • 次数据文件 不是数据库必须的文件,如果存储数据量大,超过了Windows对单一文件大小的限制,就可以创建次数据文件。如果系统中有多个磁盘,可以在不同的磁盘上创建次数据文件,扩展名为.ndf
关系数据库基本概念 1、关系 关系是表与表之间的联系,数据库可以由许多表组成,表与表之间可以存在某种方式的相互关联。 2、表 也称为表格。主要用来保存数据,它是若干记录的集合,每个记录又由若干字段组成。数据库可以看成是一个或者多个表的集合。
3、记录 一条记录是表的一行,在同一个数据表中任意两条记录是不能完全相同的。 4、字段 表中的每一列称为一个字段,用来描述记录所具有的一个属性。 5、键 表中的一个或多个字段。键可以是惟一的,也可以是非惟一的。惟一的键可以被指定为主键,用来惟一标识一个记录。
SQL Server 的数据库对象 1、表 表是具体组织和存储数据的对象,表由列和行组成。行、列的顺序可以是任意的,列名惟一,在同一个数据库中表名惟一。
2、主键 主键是表格中的一列或多列的组合。它的值惟一地标识了表中的一行记录。在表中,任意两行的主键不能具有相同的值。
3、外键 是表格中的一列或多列的组合,假如它存在于表1中,但不是表1的主键;它同时也存在于表2中,而且是表2的主键,于是称这一列或多列是表1相对于表2的外键。外键体现的是表之间的关系。
4、视图 是从一个或几个基本表中导出的表。只存储视图的定义,而没有存储对应的数据。 5、约束 约束是SQL Server 实施数据一致性和数据完整性的方法。约束对表中各列的取值范围进行限制,以确保表格中的数据都是合理、有效的。主键和外键也是约束的一种形式。
6、缺省值 或称“默认值”,功能是在向表中插入新的数据时,为没有指定数据的列提供一个缺省的数据。
7、数据类型 分为系统数据类型和用户自定义数据类型两种。系统数据类型包括int、real、char、varchar等类型。用户自定义数据类型建立在系统数据类型的基础上,是用户为了使用的方便而对系统数据类型所作的一种扩展。
数据类型 1、ini、bigint、smallint和tinyint 整形数据类型。 Ini占用4个字节,-231~231-1; bigint占用8个字节; smallint占用2个字节; tinyint占用1个字节数值范围为0~255。 2、decimal类型和numeric类型 精确数值型数据。两者功能是相同的,表示范围为-1.00E38+1~1.00E38-1 。
3、float类型和real类型 近似数值型数据。 float数值表示范围为-1.79E+308~1.79E+308,real为-3.40E+38~3.40E+38 4、bit类型 位数据。表示0或1。
5、char(N)、varchar(N)和text类型 字符型数据。其中N表示数据的长度,范围是1~8000。text型数据最大长度为2GB。 6、nchar(N)、nvarchar(N)和ntext类型 宽字符型数据。包含 n 个字符的固定长度 Unicode 字符数据,其中N表示数据的长度,范围是1~4000。ntext型数据最大长度为1GB。
7、datetime和smalldate类型 日期时间数据类型。 8、money和smallmoney 货币数据类型。 9、binary(N)和varbinary(N) 二进制数据类型。N表示长度,范围是1~8000 10、null类型 空数据类型。不指向任何数据,也不是0或空格。
SQL • SQL(Structured Query Language)语言被成为结构化查询语言,是目前使用最为广泛的关系数据库查询语言。 • SQL语言特征 用SQL语言进行数据操作时,只要提出“做什么”,而无需指明“怎么做”。
SQL语句可以完成很多任务,包括: • 数据查询; • 数据修改; • 数据对象的建立、修改、删除; • 数据和数据对象的存取控制; • 数据库完整性和一致性的保证。 SQL语言既是自含式语言,又是嵌入式语言。
数据定义语言(DDL) • SQL语言根据作用分为三类,分别是数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL) • 数据定义语言主要完成数据对象的定义操作,主要包括数据库的建立和删除,表的建立、删除和修改,以及视图的建立和删除。
建立数据库 Create Database <数据库名> [其它参数] • 删除数据库 Drop Database <数据库名>
建立基本表 独立存在的表称为基本表,在SQL语言中,一个关系惟一对应一个基本表。 命令格式为: CREATE TABLE [<数据库名>.]<表名> ( <列名> <数据类型> [缺省值] [NOT NULL/NULL] [,…n] [, UNIQUE (列名 [,…n])] [, PRIMARY KEY (列名)] [, FOREIGN KEY (列名 [,…n]) REFERENCE <表名> (列名 [,…n]) ] [, CHECK(条件)] [其它参数] )
例如,创建商品表(Product)的语句如下: Create Table SellDB.Product( ProductID char(5) Primary Key, ProductName varchar(30) Not Null, ProductSort varchar(30), ProductUnit varchar(5) Not Null )
删除基本表 DROP TABLE [<数据库名>.]<表名>
修改基本表 SQL语言用ALTER TABLE语句修改基本表,其一般格式为: ALTER TABLE <表名> [ADD <新列名> <数据类型> [完整性约束]] [ DROP [完整性约束名]] [MODIFY <列名> <数据类型>]; Alert Table Product Alert Column ProductName varchar(50)