第2单元 数据库基础和数据库创建ppt课件.ppt
第2单元 数据库基础和数据库创建数据库原理及应用内蒙古师范大学青年政治学院第2单元 数据库基础和数据库创建 本单元主要目标:(1)掌握关系数据库的基础知识。(2)能够应用E-R图对数据库进行建模。(3)能够将E-R图转化成为关系表。(4)了解数据库的设计流程。数据库原理及应用内蒙古师范大学青年政治学院2.1 数据库基础知识2.1.1 数据库技术相关概念1数据数据(Data)是对客观事物特征的一种抽象的符号化表示,是数据库中存储的基本对象。2数据库数据库(Database,DB)实质就是存储数据的仓库,是在计算机存储设备上,按一定的组织形式存储在一起的相关数据的集合。3数据库应用系统数据库应用系统(Database Application System)是在数据库管理系统支持下建立的计算机应用系统。数据库原理及应用内蒙古师范大学青年政治学院2.1 数据库基础知识2.1.1 数据库技术相关概念4数据库管理系统数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库的管理系统。数据库管理系统是数据库系统的核心,数据库的建立、使用和维护,都是由数据库管理系统统一管理、统一控制的。5关系型数据库管理系统关系型数据库管理系统(Relation Ship Database Management Sgstem,RDBMS)是DBMS的一种。6对象关系型数据库管理系统对象关系型数据库管理系统(ORDBMS)也是DBMS的一种。数据库原理及应用内蒙古师范大学青年政治学院2.1 数据库基础知识2.1.2 数据库系统的组成数据库系统是指引进数据库技术的计算机系统。它由4部分组成,分别是计算机硬件、数据库集合、数据库管理系统及相关软件、人员。1计算机硬件2数据库集合3数据库管理系统及相关软件数据库原理及应用内蒙古师范大学青年政治学院2.1 数据库基础知识2.1.3 数据库技术发展过程在发明计算机之后,人们逐渐开始使用计算机管理各种数据。这一过程经历了人工管理、文件系统、数据库系统、分布式数据库系统和面向对象数据库系统等几个阶段。 1人工管理阶段2文件系统阶段3数据库系统阶段4分布式数据库系统阶段5面向对象数据库系统数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.1 数据模型任何数据库系统的建立,都要依赖某种数据模型来描述和表示信息系统。因此,数据模型一般应满足三个要求: (1)需要尽可能真实地模拟或反映现实世界的数值特征。(2)便于人们理解和交流。(3)便于在计算机系统上实现存储和处理。数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.1 数据模型为了将现实世界的具体事务抽象、组织成一个为某一DBMS支持的数据模型,人们通常分两步完成:(1)将现实世界的信息(属性、特征等)抽象为信息世界的各类数据,并使用概念模型来描述各数据的名称、数据类型、数据的精度与取值范围、不同数据之间的关联等;(2)将概念模型转换为组织层模型,将数值化信息转换成机器数据。这一转换过程如下图所示。数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.1 数据模型数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.2 数据模型概念模型的设计就是将信息或数据从现实世界转换到信息世界。这个过程是一种创造性劳动,需要设计者对课题内容有着深入、透彻的理解,并且有丰富的实践经验,很高的综合素质和良好的抽象、综合能力。常用的概念模型有实体-联系模型(Entity-Relationship model,E-R模型)、语义对象模型等。数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.3 概念模型的表示方法(E-R图)E-R模型中常用的名词与实体联系图(1)实体。实体是客观世界中具有某些共同特性的同类对象的集合,也可以称为实体类型。(2)属性。实体所具有的某一特性,一个实体可由若干个属性来描述。(3)联系。在客观世界中,事物内部以及事物之间,可能存在复杂的联系。数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.3 概念模型的表示方法(E-R图)实体与实体之间的联系,一般分为三种情况:(1)一对一联系(1:1)(2)一对多联系(1:n)(3)多对多联系(m:n)数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.4 组织模型组织层数据模型就是以数据在计算机中的组织方式为出发点,能更有效、更方便,更有利于设计人员与用户进行沟通、理解,且方便用户使用。数据库技术经过近50年的研究与发展,最常用的组织层数据模型有四种:1层次数据模型层次型数据模型又称作树型结构,树中的每个结点表示一种记录类型。2网状数据模型网状数据模型是把每个记录当成一个结点,任意结点与结点之间可以建立联系,形成一个复杂的网状结构。数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.4 组织模型3关系数据模型关系型数据模型使用二维矩阵来表示和实现数据的联系,而不像网状模型和层次模型使用指针链表实现数据的联系。二维矩阵在关系型数据模型中是以表格形式来实现的,表格中的行和列形成一个关联的数据关系-数据表。(1)在关系模型中,实体与实体之间的联系都用关系来表示,概念单一,数据结构简单、清晰,用户容易理解。(2)建立在关系模型上的关系数据库系统,它的数据操作主要是关系运算。(3)关系操作在执行时,数据的存取路径对用户是透明的。(4)关系模型和关系运算建立在关系代数理论上的,有严格的数学理论基础,一般不会出现意想不到的错误,系统具有较高的数据独立性、数据完整性和数据安全性。数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.4 组织模型4面向对象数据模型随着数据库应用的迅速发展,由于传统数据模型的数据对象简单、无复杂数据或嵌套数据;实体之间的联系简单,不能表示聚合、继承等复杂联系;数据操作方面也无法实现复杂的数据操作和行为模拟等功能,数据库系统必须引入新的数据模型和新的数据处理技术,才能满足发展的需要。数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.5 关系模型关系型数据模型是组织层数据模型中较为常用的一种模型。关系模型是采用二维表来组织、描述和存储数据。关系数据库涉及的几个概念。1关系在关系数据库中,关系就是二维表。2属性任何实体都有一组相关的属性,与它们对应的一个关系模式中,也有一组属性与此对应。3元组在一个关系模式中,填入实际的数据,就形成一个二维表。表中的每一行数据称为一个元组,也称一条记录或一行。数据库原理及应用内蒙古师范大学青年政治学院2.2 关系数据库2.2.5 关系模型4主键、外键表中的某一列或某几列的组合可以唯一标识表中的每条记录,我们把这一列或几列的组合称作主键。若一个关系R中的某一属性S与另一关系F的主键相对应,则称S是关系R的外键。数据库中的表与表之间的联系,就是通过表的主键和外键所体现的。数据库原理及应用内蒙古师范大学青年政治学院2.3 数据库的结构2.3.1 数据库文件分类1数据库的物理结构数据库是用来存储数据的,数据库的存储结构分为逻辑存储结构和物理存储结构。数据库的物理存储表现是操作系统文件,就是物理上,一个数据库由一个或多个磁盘(或光盘)上的文件组成。这种物理存储表现对数据库管理员是可见的,对用户在实际使用时是透明的。2数据库的逻辑结构逻辑上,一个数据库由若干个用户可见的组件构成,比如表、视图、存储过程等,这些组件称为数据库对象。用户利用这些数据库对象存储或读取数据库中的数据,也直接或间接地利用这些对象在不同应用程序中完成数据的存储、操作、检索等工作。数据库原理及应用内蒙古师范大学青年政治学院2.3 数据库的结构2.3.2 数据库文件组出于分配和管理的目的,可以将数据库文件分成不同的文件组,按组的方式对文件进行管理。通过设置文件组,可以有效提高数据库的读写性能。SQL Server数据库的文件组分为3种类型,分别是主文件组、自定义文件组和默认文件组。数据库原理及应用内蒙古师范大学青年政治学院2.4 系统数据库系统数据库是SQL Server 2012内部提供的一组数据库,在安装SQL Server时,系统数据库由安装程序自动创建。系统数据库主要有以下几个:(1)Master数据库(2)Tempdb数据库(3)Model数据库(4)Msdb数据库数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库创建数据库需要为数据库提供逻辑名称和物理名称,并指定数据库的大小等参数。数据库的名称必须遵守SQL Server 2012的标识符命名规定:最长不能超过128个字符,第一个字符必须是字母、汉字、下画线(_)或、#字符,其余的字符可以是字母、数字和其他符号,为了便于管理和理解,数据库的名称一般要简短且有一定的含义。数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库创建数据库需要为数据库提供逻辑名称和物理名称,并指定数据库的大小等参数。数据库的名称必须遵守SQL Server 2012的标识符命名规定:最长不能超过128个字符,第一个字符必须是字母、汉字、下画线(_)或、#字符,其余的字符可以是字母、数字和其他符号,为了便于管理和理解,数据库的名称一般要简短且有一定的含义。SQL Server 2012提供了SQL Server管理控制台和Transact-SQL命令两种方式创建数据库。下面我们以创建studentdb数据库为例,介绍以上两种数据库创建方法。数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库2.5.1 使用SQL Server管理控制台创建数据库SQL Server 2012提供了SQL Server管理控制台和Transact-SQL命令两种方式创建数据库。下面我们以创建studentdb数据库为例,介绍以上两种数据库创建方法。(1)打开“SQL Server Management Studio”窗口,在对象资源管理器中右击数据库结点,在弹出的快捷菜单中选择“新建数据库”命令。(2)在弹出的“新建数据库”对话框中,有常规、选项、文件组三部分。在常规标签:设置数据库的名称,并创建数据库文件。其中数据库文件的类型、初始大小、增长方式和物理路径都可以按照要求进行修改和设置。数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库(3)单击“确定”按钮,在数据库的树形结构中,就可以看到刚创建的studentdb数据库。数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库2.5.2 用Transact-SQL命令创建数据库除了使用SQL Server Management Studio管理工具创建数据库外,还可以使用CREATE DATABASE命令来创建数据库。简要语法如下:CREATE DATABASE database_nameON ,n ,nLOG ON,nCOLLATE collation_name数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库其中定义为PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),n定义为FILEGROUP filegroup_name,n数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库各参数的含义如下:(1)database_name:数据库的名称,数据库名称在服务器中必须唯一,并且符合标识符的规则。(2)ON:指定存放数据库的数据文件信息,说明数据库是根据后面的参数来创建的。(3)LOG ON:指定日志文件的明确定义。如果没有该选项,则系统会自动产生一个文件名前缀与数据库相同,容量为数据库文件大小1/4的日志文件。(4)collation_name:指定数据库的默认排序规则。排序规则名称既可以是Windows排序规则名称,也可以是SQL排序规则名称。如果没有指定排序规则,则将SQL Server实例的默认排序规则指派为数据库的排序规则。数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库各参数的含义如下:(5)PRIMARY:指定后面定义的数据文件加入主文件组中,主文件组包含所有数据库系统表,一个数据库只能有一个主文件。如果没有指定PRIMARY,那么CREATE DATABASE语句列出的第一个文件将成为主文件。(6)logical_file_name:数据文件的逻辑名称,用来在创建数据后执行的Transact-SQL语句中引用文件的名称。logical_file_name在数据库中必须唯一,并且符合标识符的规则。(7)os_file_name:数据文件的物理名称,是创建文件时由操作系统使用的路径和文件名。(8)size:文件的初始大小。可以使用千字节(KB)、兆字节(MB)、吉字节(GB)或太字节(TB)为单位。默认值为 MB。指定一个整数,不要包括小数。size 是整数值。对于大于 2 147 483 647 的值,使用更大的单位。数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库各参数的含义如下:(9)max_size:最大的文件大小。可以使用千字节(KB)、兆字节(MB)、吉字节(GB)或太字节(TB)为单位。默认值为 MB。指定一个整数,不要包括小数。如果没有指定或写unlimited,那么文件将增大到磁盘充满为止。(10)FILEGROWTH:用以指定数据库文件的增加量,可以加上KB、MB、GB、TB或使用%来设置增长的百分比。(11)FILEGROUP:用以定义用户文件组及其文件。数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库【例2.2】使用Transact-SQL语句创建一个名为BOOK的数据库,它由5 MB的主数据文件、2 MB的次数据文件和1 MB的日志文件组成。并且主数据文件以2 MB的增长速度增长,其最大数据文件的大小为15 MB;次数据文件以10%的速度增大,其最大次数据文件的大小为10 MB;事务日志文件以1 MB的速度增大,其最大日志文件的大小为10 MB。数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库程序如下:CREATE DATABASE BOOKON(NAME=book1,FILENAME=d:javabook1.mdf,SIZE=5,MAXSIZE=15,FILEGROWTH=2),(NAME=book2,FILENAME=d:javabook2.ndf,SIZE=2,MAXSIZE=10,FILEGROWTH=10%)数据库原理及应用内蒙古师范大学青年政治学院2.5 创建数据库程序如下:LOG ON(NAME=book_log,FILENAME=d:javabook_log.ldf,SIZE=1,MAXSIZE=10,FILEGROWTH=1)数据库原理及应用内蒙古师范大学青年政治学院2.6 数据库的修改和删除2.6.1 修改数据库在实际应用中,有时候需要修改数据库的属性设置,以适应新的应用要求。通过SQL Server管理控制台和Transact-SQL命令,都可以执行修改数据库的有关操作。1通过SQL Server管理控制台修改数据库属性2使用Transact-SQL命令修改数据库数据库原理及应用内蒙古师范大学青年政治学院2.6 数据库的修改和删除在查询窗口中,可以使用ALTER DATABASE语句来对数据库进行修改。简要语法如下:ALTER DATABASE databasenameADD FILE,.n|ADD LOG FILE,.n|REMOVE FILE logical_file_name|ADD FILEGROUP filegroup_name|REMOVE FILEGROUP filegroup_name|MODIFY FILE,.n|MODIFY NAME=new_dbname数据库原理及应用内蒙古师范大学青年政治学院2.6 数据库的修改和删除这个语句允许创建和修改数据库文件、日志文件和文件组。各子句的说明如下:ADD FILE,.n:增加新的数据文件。ADD LOG FILE,.n:增加新的日志文件。REMOVE FILE logical_file_name:从数据库系统表中删除指定文件。ADD FILEGROUP filegroup_name:增加一个文件组。REMOVE FILEGROUP filegroup_name:删除指定文件组。MODIFY FILE,.n:修改文件属性。MODIFY NAME=new_dbname:重命名数据库。数据库原理及应用内蒙古师范大学青年政治学院2.6 数据库的修改和删除【例2.3】使用Transact-SQL语句对例2.2所创建的BOOK数据库作如下修改:将主数据文件(book1)的文件大小由5 MB增大为8 MB,并删除次数据文件(book2)。在查询窗口中分别输入下面两段程序,并执行即可实现要求。ALTER DATABASE BOOKMODIFY FILE(NAME=book1,SIZE=8) ALTER DATABASE BOOKREMOVE FILE book2数据库原理及应用内蒙古师范大学青年政治学院2.6 数据库的修改和删除2.6.2 删除数据库对于那些不再需要的数据库,可以删除它以释放在磁盘上所占用的空间。删除数据可以通过SQL Server管理控制台和Transact-SQL命令两种方式进行。1使用SQL Server Management Studio管理工具删除数据库打开SQL Server Management Studio窗口,在对象资源管理器中展开树形结构的数据库结点,右击要删除的数据库,在弹出的快捷菜单中,选择“删除”命令。然后在弹出的对话框中单击“确定”按钮就可以删除数据库。数据库原理及应用内蒙古师范大学青年政治学院2.6 数据库的修改和删除2.6.2 删除数据库2使用Transact-SQL命令删除数据库删除数据库的SQL语句是使用DROP DATABASE命令来实现的。该命令的语法比较简单,如下所示:DROP DATABASE 数据库名,.n可以一次删除一个或多个数据库。需要注意的是,不能删除当前正在使用的数据库。如果数据库的属性为只读,也无法删除。另外,前面介绍过的系统数据库是无法删除的。数据库原理及应用内蒙古师范大学青年政治学院2.7 数据库的迁移2.7.1 分离和附加SQL Server数据库1分离和附加数据库的作用我们将数据库创建好以后,有时会出现这样两种情况:(1)需要将数据库移到其他计算机的SQL Server中使用;(2)要改变存储数据库数据文件和日志文件的物理位置。2分离数据库3附加数据库数据库原理及应用内蒙古师范大学青年政治学院2.7 数据库的迁移2.7.2 导入和导出数据在SQL Server 2012数据库管理系统中,我们不但可以通过分离和附加数据库实现对SQL Server数据库的迁移,还可以利用系统工具在SQL Server数据库和其他异种数据库之间进行数据的导入和导出。SQL Server 2012系统提供的导入和导出数据功能允许用户导入和导出数据库并转换异类数据。