项目一认识学生管理数据库-byanita.ppt
项目一 认识数据库,数据库基础知识 SQL Server 2012的安装、配置及启动 关系数据库基础,数据库基础 SQL SERVER 2012简介,一、数据库的发展二、数据库系统模型三、关系数据库管理系统四、SQL Server2012简介,信息、数据与数据库,1.数据数据:能够在计算机中存贮的用于描述事物的记录符号它包括两个方面:一是描述事物特性的数据内容二是存储在某种媒体上的数据形式。(数字、字母、文字、图形、声音、动画、影像等。其中,使用得最多的是文字数据。),信息、数据与数据库,2、数据处理数据处理是指将数据转换成信息的过程。数据处理实际上就是利用计算机对各种形式的数据进行处理。数据处理的目的是从大量的、原始的数据中抽象和推导出对人们有价值的信息以作为行动和决策的依据。,数据,处理,信息,信息、数据与数据库 3、数据与信息,数据:可以从中得出结论的原始资料。可以据此得出新事实的论据。信息:知识、才智、有特定意义或作用的一条特殊数据。信息通常是对数据进行结合、比较与计算的结果。,信息、数据与数据库 3、数据与信息,以测试成绩为例:如果一个班级中的每名学生都收到一个数值分数,则通过这些分数可以计算出班级平均分数。然后通过班级平均分数又可以计算出学校的平均分数。数据库软件可以将记录/存储的数据和统计数据转换成有用的信息。数据:每名学生的测试分数都是一条数据。信息:班级的平均分数或学校的平均分数。,信息、数据与数据库,4、数据库 数据库(DataBase 简称DB)是按一定组织结构存贮在计算机中相关数据的集合。它不仅包括数据本身,而且还包括相关事物间的联系。数据库可以被多个用户、多个应用程序共享。对数据的增加、删除、修改和检索由系统软件统一进行。数据库通常由数据库管理员(DBA)进行管理。,信息、数据与数据库4、数据库,数据库理论的发展,如何管理大量的、持久的、共享的数据?人工管理阶段文件管理系统数据库管理系统,数据库理论的发展,1.人工管理阶段(20世纪50年代中期以前)这时计算机的应用还不是很广,主要用于科学计算。没有直接存取的设备,没有操作系统及管理数据的软件。特点:a.数据不长期保存,随时用随时输入;b.系统中没有对数据进行管理的软件;数据由应用程序管理;c.数据不能共享,与应用程序是一体的;d.由应用程序管理数据,数据是面向程序的,数据不具有独立性;,数据库理论的发展,1.人工管理阶段(20世纪50年代中期以前)这时计算机的应用还不是很广,主要用于科学计算。没有直接存取的设备,没有操作系统及管理数据的软件。,数据库理论的发展,2.文件管理阶段(20世纪50年代后期至60年代中期),出现了磁盘等直接存取设备。软件上出现了专门的管理数据的软件。特点:a.程序与数据有了一定的独立性;b.程序和数据分开存储,有了程序文件和数据文件的区别;c.数据文件可以长期保存但是a.数据冗余度大,b.缺乏数据独立性。d.不支持并发访问,如一个excel文件只能一人打开修改。e.无安全控制功能。,数据库理论的发展,3数据库系统阶段(20世纪60年后期以后)a.数据库技术能有效的管理和存取大量的数据,避免了以上两阶段的缺点,实现数据共享,减少数据冗余;采用特定的数据模型;具有较高的数据独立性;有统一的数据管理和控制功能。b.数据库系统又经历了三个阶段:网状数据库、层次数据库和关系数据库。c.桌面型关系数据库:FoxBase、Visual Foxpro、Access等d.大型关系数据库管理系统有:SQL Server、DB2、Oracle、Sybase、Informix等。,数据库理论的发展3、数据库系统阶段,数据库基础 SQL SERVER 2012简介,一、数据库的发展二、数据库系统模型三、关系数据库管理系统四、SQL Server2012简介,数据库系统模型,数据库系统模型,计算机不能直接处理现实世界中的具体事物,所以必须把这些具体事物转换成计算机能够处理的数据,这些数据要通过数据模型对其进行模拟和抽象。根据模型应用的不同目的,可以将这些模型分为两大类,它们分别属于两个不同的层次。第一类:概念层模型。(按用户的观点对数据和信息建模,用于数据库设计)另一类:组织层数据模型。(按计算机的观点对数据建模,用于数据库管理系统的实现),数据模型,数据模型一般应满足三个要求:第一要能够比较真实地模拟现实世界;第二要容易被人们理解;第三要能够很方便地在计算机上实现。指用什么样的结构来组织数据 与具体的数据库管理系统无关。主要包括:层次模型(用树型结构组织数据)网状模型(用图型结构组织数据)关系模型(用简单二维表结构组织数据),层次模型,层次模型是数据库中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。用树型结构表示实体类型以及实体间的联系是层次模型的主要特征。层次模型的一个最基本的特点是,任何一个给定的记录值(也称为实体)只有按照其路径查看时,才能显出它的全部意义。没有一个子记录值能够脱离双亲记录值而独立存在。缺点:结构呆板、要保留大量的索引文件、数据冗余,层次模型,图1-1 层次模型示意图,网状模型,在现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示非树形结构是很不直接的,网状模型则可以克服这一弊端。用网状结构表示实体类型及实体之间联系的数据模型称为网状模型。在网状模型中,一个子结点可以有多个父结点,在两个结点之间可以有一种或多种联系。缺点:指针数据增加数据量,指针的建立和维护是非常大的任务。,图1-2 网状模型示意图,关系模型,关系模型是目前最常用的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。在关系模型中,数据在用户观点下的逻辑结构就是一张二维表。每一张二维表称为一个关系(relation)。关系数据库中,信息被保存在二维表格中,称之为表(Table),一个关系型数据库包含多个数据表,每个表又包含行(记录)和列(字段)。,关系模型,优点:关系模型数据结构简单、清晰,用户易懂易用;关系模型具有更高的数据独立性、更好的安全保密性。缺点:许多操作都要求在文件中顺序查找满足特定关系的数据,可能花费很多时间。,学生成绩关系图,学生课程成绩表,课程表,学生表,表和表之间是相互关联的。表与表之间可以通过公共字段(关键字)建立关系。关键字分为:主关键字(简称主键)外部关键字(简称外键)主键是指表中的一列或多列的组合,该列的值可以唯一的标识表中的记录。外键是指表B中含有与另一个表A的主键相对应的列,那么该列在表B中称为外键。,关系模型,数据库基础 SQL SERVER 2012简介,一、数据库的发展二、数据库系统模型三、关系数据库管理系统四、SQL Server2012简介,关系数据库管理系统,数据(Data)数据是描述现实世界事物的符号记录,是用物理符号记录的可以鉴别的信息。数据库(DataBase,DB)是存放数据的仓库,是相互关联的数据的集合。准确的说是长期存在计算机内、有组织的、可共享的数据集合。它不仅包括描述事物的数据本身,而且包括相关事物之间的联系。,关系数据库管理系统,数据库管理系统(DataBase Management System,DBMS)用户创建、管理和维护数据库必须有相应的计算机软件,即数据库管理系统。是对数据库进行统一管理的计算机软件,是位于用户与操作系统之间。DBMS能定义数据的存储结构,提供数据的操纵机制,维护着数据库的安全性、完整性和可靠性。,如今的数据库管理系统大多数都是建立在关系模型上的,因此称为关系型数据库管理系统(Relation DataBase Management System,RDBMS)。,数据库系统的构成,数据库系统一般由数据库、操作系统、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA)和用户构成。,数据库基础 SQL SERVER 2012简介,一、数据库的发展二、数据库系统模型三、关系数据库管理系统四、SQL Server2012简介,SQL Server 2012简介,1、SQL Server发展SQL Server是微软公司推出的关系数据库管理系统。SQL是Structured Query Language的缩写,表示“结构化查询语言”。用户可以管理数据库、设计开发应用程序。C/S(客户机/服务器)工作模式,它使用Transact SQL语言在服务器与客户机间传送请求和答复。B/S(浏览器/服务器)工作模式,SQL Server 2012与XML结合下支持实现。7个版本,企业版(Enterprise Edition)、商业智能(business edition)、网络版(web Edition)、标准版(Standard Edition)、简易版(Express Edition),以及express with advanced services、express with tools。,2、SQL Server 2012重要功能,综合的、完整的数据平台,企业数据管理,数据库开发,商业智能,第三方应用程序,Microsoft SQL Server,管理工具,综合的、完整的数据平台,项目一 认识学生管理数据库,数据库基础知识 SQL Server 2012的安装、配置及启动关系数据库基础,出现版本兼容问题时,有两个选择:选择一:安装2012以前的版本,例如sql server2005。下载地址:数据库/sqlserver2005/这个文件夹下后缀名为.iso的为安装文件,下载到本地电脑后右键点击解压缩后,点击setup.exe进行安装。安装步骤祥见ftp上的sqlserver2005安装图解(中文)Win7用户在安装完成后需要继续安装补丁,在数据库/sqlserver2005/这个文件夹下后缀名为.exe的文件,双击安装。步骤自行揣摩。,选择二:(推荐)重装win7系统,在这里介绍一个简单的重装方法,大家可以尝试一下,如果不行,再试下传统的系统重装。Win7系统安装软件下载地址:ftp:/oracle/装机软件/win7系统进入这里之后,将文件下载到本地电脑上,解压缩之后,点击“安装系统.exe”,在弹出的窗口中选择第一个选项,后面会自动安装系统,时间大概20分钟。系统重装好后,就可以正常地进行sqlserver2012的安装了。,虚拟机,如果上述地址下载的安装文件不能安装,则到ftp:/oracle/下的“其他虚拟机”中下载以下两个中的任意一个 1.虚拟机 Vmware 2.虚拟机 Vpc注:虚拟机在下载到电脑后,按如下操作:打开文件夹“虚拟机VPC”双击“setup”进行安装-安装完成后点击“开始”-“所有程序”-“microsoft virtual pc”进行初次使用设置。,虚拟机,注(续):初次设置:点击next选择add an existing virtual machine点击next点击browse,选择下载的“虚拟机vpc”文件夹下的“xp(sql2005-b1)”文件点击“打开”点击next点击finish点击ok.设置完成后点击“开始”-“所有程序”-“microsoft virtual pc”点击start开启虚拟机进行使用。,虚拟机,注(续2):学习结束,不需使用虚拟机时,点击右上方的“关闭”按钮,选择“turn off”即可。虚拟机上已安装有sql server 2005,可直接使用。这是为了解决部分电脑配置导致的无法安装SQL server 2005的问题,方便同学们进行后续的学习和练习。,2、SQL Server 2012安装过程中的相关知识介绍 安装组件选项,.,2、SQL Server 2012安装过程中的相关知识介绍 安装SQL Server 实例,默认实例 此实例由运行它的计算机的网络名称来标识命名实例 命名实例由计算机网络名称加实例名来标识,2、SQL Server 2012安装过程中的相关知识介绍 SQL Server 服务,服务使用域用户账户指定一个使用Windows 验证的域用户 账户使用 Local Service 账户 一种内置的特殊账户,类似于授权 用户账户 使用 Network Service 账户使用计算机账户凭据来访问网络资源,2、SQL Server 2012安装过程中的相关知识介绍 数据库身份验证简介,Windows 验证SQL Server验证混合验证模式,2、SQL Server 2012安装过程中的相关知识介绍 排序规则注意事项,Windows 排序规则基于Windows 相关区域设置规则 SQL 排序规则当指定 SQL 排序规则时,SQL Server 沿用了 SQL Server 早期版本中指定的代码页号和排序次序的常见组合属性 默认排序规则和排序次序如果未指定排序规则或选择排序次序,则 SQL Server 将应用此默认值,3、SQL Server 服务器的后台服务,SQL Server 2012安装安毕后,其服务器端组件是以“服务”的形式在计算机系统中运行,“服务”是一种在后台运行的应用程序。可以在操作系统【管理工具】的【服务】中查看。(1)SQL Server数据引擎,是SQL Server 2012的核心服务。(2)SQL Server Active Directory Helper支持与活动目录Active Directory的集成。(3)SQL Server Agent代理服务,按计划自动执行数据库管理员安排的作业(4)SQL Server Analysis Services提供联机分析处理(OLAP)和数据挖掘的服务。(5)SQL Server Browser提供连接信息,3、SQL Server 服务器的后台服务,(6)SQL Server FullText Search快速创建结构化和半结构化数据的全文索引(7)SQL Server Integration Services执行工作流功能的任务(8)SQL Server Reporting Services管理、执行、呈现、计划和传递报表。(9)SQL Server VSS Writer它是SQL Server编写服务器,4、SQL Server 客户端上的管理工具,(1).SQL Server Management Studio,4、SQL Server 客户端上的管理工具,(1).SQL Server Management Studio,4、SQL Server 客户端上的管理工具,(2)Reporting Services配置 它是用于报表服务配置,管理报表服务器。在【开始】|【所有程序】|【Microsoft SQL Server 2012】|【配置工具】菜单中。(3)SQL Server Configuration Manager SQL Server配置管理器,用于管理与SQL Server有关的连接服务。在【开始】|【所有程序】|【Microsoft SQL Server 2012】|【配置工具】菜单中。(4)SQL Server错误和使用情况报告 在【开始】|【所有程序】|【Microsoft SQL Server 2012】|【配置工具】菜单中。(5).外围应用配置器工具,4、SQL Server 客户端上的管理工具,(6)SQL Server Profiler 它是SQL Server事件探查器,用于从服务器上捕获SQL Server 2012事件的工具。可以查找导致SQL Server运行慢的查询;捕获导致某个问题的SQL语句;监视SQL Server性能等。它在【开始】|【所有程序】|【Microsoft SQL Server 2012】|【性能工具】菜单中。(7)数据库引擎优化顾问 可以完成对数据库的优化。它在【开始】|【所有程序】|【Microsoft SQL Server 2012】|【性能工具】菜单中。(8)Visual Studio 2010 利用它可以创建与SQL Server 2012相连的Analysis Services项目、Integration Services项目、报表服务器项目和报表模型项目等。它在【开始】|【所有程序】|【Microsoft Visual Studio 2010】中。,【任务分析】本任务要完成四个子任务:任务5.1 SQL Server服务器的启动、暂停和关闭任务5.2 启动SQL Server Management Studio,5、启动和配置SQL Server 2012,任务5.1 SQL Server服务器的启动、暂停和关闭,单击“开始”“程序”“Microsoft Server 2012”“配置工具”“SQL Server 2012 Configuration Manager”菜单,可以启动SQL Server 2012配置管理器,任务5.2 启动SQL Server Management Studio,单击“开始”“程序”“Microsoft SQL Server 2012”,选择SQL Server Management Studio”菜单命令,进入“连接到服务器”对话框,在“服务器名称”中选择相应的服务器,“身份验证”选择“Windows身份验证”,单击“连接”按钮,进入Microsoft SQL Server Management Studio,可以进行数据库的管理,项目一 认识数据库,数据库基础知识 SQL Server 2012的安装、配置及启动关系数据库基础,关系数据库基础,关系模型及其三个要素关系完整性约束关系代数的基本运算和应用SQL Server的基本架构和基本构成SQL Server数据库的存储结构,关系概念,关系通俗的讲就是二维表格,也是人们在日常生活中最常见到的表格数据。关系的基本概念源于数学。关系的形式定义,以及相关的概念和术语。,数据库应用与设计,设D1,D2,Dn为任意集合,定义D1,D2,Dn 的笛卡儿积为:其中集合的每一个元素(d1,d2,dn)称作一个n元组,简称元组,元组中每一个di称作元组的一个分量。,笛卡儿积(定义),数据库应用与设计,举例,D1=s2,s4,s7,s9 D2=管理学,经济学,运筹学 则,D1D2=(s2,管理学),(s2,经济学),(s2,运筹学),(s4,管理学),(s4,经济学),(s4,运筹学),(s7,管理学),(s7,经济学),(s7,运筹学),(s9,管理学),(s9,经济学),(s9,运筹学),数据库应用与设计,排列成表格,笛卡儿积是二维表格?,数据库应用与设计,形式化的关系定义,笛卡儿积 的任意一个子集称为 上的一个n元关系。,数据库应用与设计,关系是笛卡尔积的子集、是表格,取子集,并将D1、D2分别命名为学号和课程名称,数据库应用与设计,关系数据库中关系的性质,每一个分量必须是不可分的最小数据项。列的个数和每列的数据类型是固定的,即每一列中的分量是同类型的数据,来自同一个值域。不同的列可以出自同一个值域,每一列称为属性,每个属性要给予不同的属性名。列的顺序是无关紧要的,即列的次序可以任意交换,但一定是整体交换,属性名和属性值必须作为整列同时交换。行的顺序是无关紧要的,即行的次序可以任意交换。元组不可以重复,即在一个关系中任意两个元组不能完全一样。,数据库应用与设计,基本概念和术语,关系 属性 值域 元组 分量 关系模式 关系模型关系数据库,候选关键字 主关键字,主属性 非主属性,数据库应用与设计,参照关系与被参照关系,外部关键字 参照关系被参照关系,数据库应用与设计,思考题,为什么说关系的概念源于数学?为什么把关系可以称作表格或二维表?值域是个什么概念?它和列有什么关系?关系有哪些基本性质?如果有表格或二维表不满足其中的某个性质,这样的表格或二维表是关系吗?,数据库应用与设计,思考题,讨论关系、关系模式、关系模型、关系数据库的概念。讨论属性、值域、元组、分量的概念。讨论主属性、非主属性、候选关键字、主关键字、外部关键字的概念。讨论参照关系、被参照关系的概念。,数据库应用与设计,2.2 关系数据模型,关系数据模型就是用关系来表示现实世界中实体以及实体和实体之间的联系的数据模型。,数据库应用与设计,关系数据模型的三要素,关系数据结构关系数据操作关系数据完整性约束,数据库应用与设计,关系数据结构,如何表示现实世界中的实体及其联系?在关系数据模型中,现实世界中的实体及实体与实体之间的联系均用关系来表示。,数据库应用与设计,关系操作集合,在关系上能进行哪些操作?,传统的集合运算 并 交 差 广义笛卡尔积专门的关系运算 选择 投影 连接 除关系数据操作 查询 插入 删除 修改,数据库应用与设计,关系完整性约束,在数据库中数据完整性是指保证数据正确的特性。数据完整性是一种语义概念,它包括两方面的内容:与现实世界中应用需求的数据的相容性和正确性;数据库内数据之间的相容性和正确性。,数据库应用与设计,关系完整性约束,实体完整性参照完整性用户定义完整性,数据库应用与设计,实体完整性规则,实体完整性的目的是要保证关系中的每个元组都是可识别和唯一的。,实体完整性规则:若属性A是关系R的主属性,则属性A不可以为空值。,空值?,数据库应用与设计,实体完整性,实体完整性是关系模型必须满足的完整性约束条件,也称作是关系的不变性。关系数据库管理系统可以用主关键字实现实体完整性(非主关键字的属性也可以说明为唯一和非空值的),这是由关系系统自动支持的。,数据库应用与设计,参照完整性规则,什么是参照完整性?,数据库应用与设计,参照关系和被参照关系,设F是关系R的一个属性或属性组,但不是关系R的关键字,另外有主关键字为K的关系S。如果关系R的属性或属性组F与关系S的主关键字K相对应,则称F是关系R的外部关键字,并称关系R是参照关系、S是被参照关系(或目标关系)。关系R和S可以是同一个关系。,数据库应用与设计,参照完整性规则,如果属性(或属性组)F是关系R的外部关键字,它与关系S的主关键字K相对应,则对于关系R中每个元组在属性(或属性组)F上的值必须为:或者取空值(F的每个属性均为空值);或者等于S中某个元组的主关键字的值。,参照完整性也是关系模型必须满足的完整性约束条件,是关系的另一个不变性。,数据库应用与设计,用户定义完整性,满足用户特定需求的数据完整性约束:属性的取值范围属性值必须唯一属性不可以取空值属性之间必须满足某种关系,数据库应用与设计,思考题,什么是数据模型?什么是关系数据模型?关系数据模型有哪几个要素?并说明这些要素所包含的内容。讨论实体完整性规则,它涉及哪些概念?讨论参照完整性规则,它涉及哪些概念?用户定义完整性可以完成哪些方面的约束?分别讨论实体完整性约束和参照完整性约束是如何实现的。讨论关系完整性约束在保证数据正确性方面是如何发生作用的?,数据库应用与设计,2.3 关系代数,关系代数是实现关系操作的一种方法,是理解关系操作的基础。,传统的集合运算并运算交运算差运算广义笛卡尔积,专门的关系运算选择运算投影运算连接运算除运算,数据库应用与设计,集合的并运算,如果关系R和关系S都是n元关系,并且对应的属性出自同一个值域,则关系R和关系S的集合并运算可以记作:R S=t|t R t S,数据库应用与设计,集合的交运算,如果关系R和关系S都是n元关系,并且对应的属性出自同一个值域,则关系R和关系S的集合交运算可以记作:R S=t|t R t S,数据库应用与设计,集合的差运算,如果关系R和关系S都是n元关系,并且对应的属性出自同一个值域,则关系R和关系S的集合差运算可以记作:,数据库应用与设计,设R为m元关系,S为n元关系,并且 r=(r1,r2,rm)R s=(s1,s2,sn)S 则 称为元组的连串。这是一个(m+n)元组,前m个分量为R中的一个m元组,后n个分量为S中的一个n元组。,元组的连串,数据库应用与设计,集合的广义笛卡尔积运算,设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡尔积RS是一个m+n元关系、有kl个元组。广义笛卡儿积可以记作:,数据库应用与设计,专门关系运算,选择运算投影运算连接运算除运算,数据库应用与设计,选择运算,从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定的。,其中R是关系名,r是元组,是选择运算符,F是结果为“真”的逻辑表达式。,数据库应用与设计,对关系R选择学时为56的课程元组,数据库应用与设计,投影运算,对指定的关系选择列产生一个新关系。,A(R)=r.A|rR,其中R是关系名,是投影运算符,A是被投影的属性或属性集,r.A(或rA)表示r这个元组中相应于属性A的一个分量。,根据关系的性质结果中要去掉重复行。,数据库应用与设计,对关系T选择“姓名和职称”两列进行投影,姓名,职称(T),数据库应用与设计,连接运算,连接相互之间有联系的两个关系。连接过程一般是由参照关系的外部关键字和被参照关系的主关键字来控制的,这样的属性通常也称为连接属性。,数据库应用与设计,连接运算,一般的连接运算也称为连接运算,是比较运算符。连接一般表示为:,这里Ai是R中的属性,Bj是S中的属性,连接的结果是一个广义笛卡儿乘积的子集,其中的元组满足Ai和Bj间的关系。当为“=”时,称为等值连接;为“”时,称为大于连接等等。,数据库应用与设计,自然连接,连接运算中最常用的是自然连接:,自然连接是:计算广义笛卡尔积RS;选择满足条件rAi=sBj的所有元组;去掉重复的属性。,和等值连接的区别?,数据库应用与设计,除运算,两个关系做除法运算,被除关系应该包含除关系中的列。,数据库应用与设计,映象集,设有关系模式R(X,Y),其中X、Y可以是单个属性,也可以是属性集,定义当X取值为x时,x在R中的映象集为:,假设“学时”属性为X,“课程名称”属性为Y,则当X取值为56时相应的映像集为?,数据库应用与设计,除法运算,设有关系R(X,Y)和S(Y),其中X、Y可以是单个属性或属性集,则除法运算定义为:,在被除关系中给定的x值所对应的那组y值如果包含了除关系中的所有y值,则x就在商关系中。除运算经常用来完成至少包含了Y的查询,数据库应用与设计,除运算举例,至少学习了“数据库”和“运筹学”课程的学生,数据库运筹学,结果为?,吴红霞李丽,数据库应用与设计,思考题,为什么要学习、了解关系代数?两个关系的并、交、差运算有什么约束?分别讨论它们的运算结果。选择运算是一种什么运算?它可以完成什么查询运算?投影运算是一种什么运算?它可以完成什么查询运算?连接运算是一种什么运算?它可以完成什么查询运算?,数据库应用与设计,思考题,讨论自然连接和等值连接的关系。讨论各种连接的含义(如为“”、“”等)。讨论除运算的实际含义和用途。在介绍的关系代数运算中,哪些运算是基本运算?哪些运算可以用其他运算推导出来?,THE END!,