1、任务一 认识认识SQL Server 20051.1 数据库技术基础1.2 设计数据库1.3 认识SQL Server 20051.4 知识进阶任务任务:了解数据库技术的基础理论,安装SQL Server 2005,认识T-SQL语言,完成数据库应用系统“高职院校教学管理系统”需求分析及逻辑结构设计。了解数据库技术的发展历程及特点 了解三种数据模型及其特点 了解关系数据库的概念及其特点 掌握数据库应用系统的设计流程 了解SQL Server 2005的安装流程 熟悉SQL Server Management Studio的简单操作 了解T-SQL语言的特点1.1.1 数据库1.1.2 数据模型
2、1.1.3 关系数据库1.1 1.1 数据库技术基础数据库技术基础任务:任务:奠定数据库技术的理论基础,了解数据库技术的发展历程,数据库系统的概念,掌握三种数据模型的概念及关系数据库的特点。认识SQLServer20051 1数据数据现实世界中的客观事物在人脑中经过抽象形成的概念,称为信息。2 2数据管理数据管理通过计算机将数据转换成信息的过程。数据处理信息。数据处理的矛盾焦点集中在数据管理上,数据管理包括数据的收集、整理、组织、存储、查询、维护和传递等。3 3数据管理的发展数据管理的发展 (1)人工管理时期(2)文件系统时期(3)数据库系统时期 4 4数据库系统数据库系统一个完整的数据库系统
3、(DBS)由硬件、软件、数据库(DB)和用户构成,如图1-2所示。5 5数据库应用系统数据库应用系统数据库应用系统是SQL Server管理技术在具体问题中的应用,是一个实际可运行的数据库系统。1.1.1 数据库数据库认识SQLServer20051.1.2 1.1.2 数据模型数据模型 数据模型是对客观事物及其联系的数据化描述,是数据库技术的核心。在DBS中,通过数据模型实现对现实世界中数据和信息的抽象、描述和处理,所有的DBMS都基于某种数据模型。数据模型包含三个基本要素:数据结构、数据操纵数据结构、数据操纵和数数据完整性约束条件据完整性约束条件,用来精确描述系统的静态特性、动态特性和完整
4、性条件。1概念模型相关概念:相关概念:实体(Entity);属性(Attribute);域(Domain);键(Key);联系(Relationship)。实体集间的联系实体集间的联系 :一对一联系(1:1);一对多联系(1:n);多对多联系(m:n)。认识SQLServer2005 :用矩形表示实体(集),在矩形内注明实体的名称。两个实体集间的三种联系 1.1.2 1.1.2 数据模型数据模型2概念模型的表示方法:用椭圆表示实体的属性,椭圆内注明属性名称,并用直线将各椭圆与对应的矩形连起来。:用菱形表示实体间的联系,菱形内注明联系名称,并用直线将菱形与相关联的实体连起来,连线上标明联系类型。
5、认识SQLServer20053数据模型 数据模型按计算机系统的观点进行数据建模,要求用有严格语法和语义的语言对数据进行严格的形式化定义、限制和规定,使模型转化为计算机可以理解的格式。数据库系统支持的数据模型有层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relation Model)三种。它们之间的根本区别在于用以表示实体之间的联系的方式不同。按照三类数据模型进行数据库设计和实现,数据库系统分别称为层次数据库系统、网状数据库系统和关系数据库系统。1.1.2 1.1.2 数据模型数据模型认识SQLServer2005 关系模型关系模型 数据
6、库系统中最重要的模型,使用关系即二维表来描述实体之间的联系。表中的行(记录)表示实体,表中的列(字段或数据项)表示实体的属性,列值称为属性值,取值范围称为值域。1.1.2 1.1.2 数据模型数据模型学号姓名性别民族出生日期班级学籍家庭住址邮编入学日期J07051129王浩男汉族1988-9-23J070511在读济南市长清区2503582007-9-1 J08010212杜薇女回族1990-3-16J080102休学济南市燕子路2500142008-9-1属性(列)属性(列)属性名(列名)属性名(列名)关系模式记录(行)学生实体的关系(表)实例,关系名(表名)为学生实体的关系(表)实例,关系
7、名(表名)为student_info 认识SQLServer2005 关系模型要求关系必须是规范化的,最基本的条件是,关系的每一个分量必须是不可分的数据项,即不允许表中还有表。学号姓名性别民族出生日期班级成绩(学分)专业英语SQL SerrvASP.NETJ07051129王浩男汉族1988-9-23J070511232J08010212杜薇女回族1990-3-16J080102322不规范的关系不规范的关系1.1.2 1.1.2 数据模型数据模型大表中包含一张小表认识SQLServer2005 关系模式(Relation Schema):二维表的表头一行。每一个关系模式都由一些属性组成,且必
8、须命名。关系(Relation):对应于关系模式的二维表,又称表。记录(Record):关系中的每一行称为一条记录或一行,同一个关系中的记录保持唯一。属性(Attribute):关系中的每一列称为一个属性,又称为列或字段,在同一关系模式中字段名互不相同。主键(Primary Key):在一个关系模式中,能够唯一标识每一条记录的属性或属性组称为主键。如在学生关系模式中,(学号)可作为该关系模式的主键。外键(Foreign Key):若关系模式R1中的属性A是关系模式R2的主键,则属性A称为关系模式R1的外键。1.1.2 1.1.2 数据模型数据模型认识SQLServer20051 1关系数据库关
9、系数据库 基于关系模型的一种数据库,是一些相关的表和其他数据库对象的集合。在关系数据库中,信息存放在二维表格结构的表(table)中,一个关系数据库中包含多个表,每一个表由多个行(记录)和多个列(字段)组成。表与表之间通过主键和外键建立联系。主键(Primary Key,PK):在一个数据库的一个表中,有且仅有一个主键,不允许为空值且值必须保持唯一性。外键(Foreign Key,FK):当表A中的主键同时出现在表B中,该列称为表B的外键,外键值不要求唯一。公共键(Common Key):关系数据库中,若两个表中具有相同的列或列组,则这个列或列组称为这两个表的公共键。1.1.3 1.1.3 关
10、系数据库关系数据库认识SQLServer20052关系数据库的特点 操作方便:通过应用程序和后台连接,方便了用户对数据的操作,特别是没有编程基础的用户。易于维护:丰富的完整性,大大降低了数据的冗余和数据不一致的概率。便于访问数据:提供了诸如视图、存储过程、触发器、索引等数据库对象。更安全和快捷:应用程序可以通过多级安全检查来限制对数据库中数据的访问。1.1.3 1.1.3 关系数据库关系数据库认识SQLServer20051.2 设计数据库设计数据库 1.2.1 需求分析1.2.2 概念结构设计1.2.3 逻辑结构设计1.2.4 物理结构设计1.2.5 数据库应用程序开发任务:了解数据库设计的
11、一般步骤,掌握数据库逻辑结构、物理结构设计及数据库实施的基本方法。设计“高职院校教学管理系统”数据库JXGL。认识SQLServer2005 从软件工程的角度讨论,数据库设计可分为几个阶段:用户需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库应用程序开发。需求分析阶段的主要任务是通过详细调查客观世界中要处理的信息对象,充分了解其工作原理和各工作对象之间的关系,明确用户的功能、性能需求,确定数据库应用系统的功能和性能。1.2.1 1.2.1 需求分析需求分析认识SQLServer2005 高职院校教学管理过程中主要面对:学生及其所在班级基本信息,任课教师及所在系部基本信息,课程及其所用
12、教材、教室基本信息。对以上数据进行处理,产生如下新数据:按班级排课,产生排课信息;学生选择课程,产生学生成绩、班级成绩。系统应能完成如下基本功能:存储、查询、管理、维护学生、班级、教师、系部、课程、教材、教室基本信息,及班级排课、学生成绩信息等,以报表形式输出各班的学期课程表、各班的期末成绩单及其他信息管理结果。1.2.1 1.2.1 需求分析需求分析认识SQLServer2005 图概念结构设计阶段的主要任务是描述数据库的组织结构并生成关系模式。分析实体及实体间的联系,得到局部E-R图1.2.2 1.2.2 概念结构设计概念结构设计考核成绩已获学分课程性质学期学号姓名性别学籍邮编班级民族学生
13、课程名考核成绩总学时周学时课程号学分成绩课程mn出生日期家庭住址入学日期认识SQLServer20051m1nn班级管理教师系管理教材教室开设学生成绩排课课程1nmnn1n使用 初步E-R图可能存在数据冗余和关系冗余,利用数据库的规范化理论消除各种冗余,对初步E-R图进行重构,最后形成系统的E-R图。高职院校教学管理系统高职院校教学管理系统E-RE-R图图1.2.2 1.2.2 概念结构设计概念结构设计认识SQLServer2005 选择合适的数据模型将概念设计的结果即E-R图转化为数据库逻辑结构,并以具体的数据模型工具加以描述。1.2.3 1.2.3 逻辑结构设计逻辑结构设计 将E-R图转化
14、为关系模型时要遵循的原则:(1)每个实体集转化为一个关系模式。(2)两个实体集是一对一(1:1)联系,其中一个关系模式的主键可以添加到另一个关系模式并充当外键。(3)两个实体集是一对多(1:n)联系,n端关系模式的主键要添加到1端关系模式中,并充当外键。(4)两个或多个实体集是多对多(n:m)联系,联系本身产生出新的属性,且该属性在当前应用系统中是必需的,则该联系转化为一个关系模式。n端和m端实体集的主键及关系本身的属性转化为关系模式的列,各实体集的主键组合为关系模式的主键。认识SQLServer20052“高职院校教学管理系统”数据库的关系模式student_info(在校学生信息表)(st
15、ud_id,stud_name,gender,nation,birthday,class_id,school_roll,home_addr,zipcode,enter_date)主键:stud_idcourse_info(学期课程信息表)(course_id,course_name,book_id,week_period,total_period,credit)主键:course_id teacher _info(教师信息表)(teac_id,teac_name,dep _id,gender,profession,telephone,thome_addr,identity_card,tzipc
16、ode)主键:teac_idclass_info(班级信息表)(class _id,monitor,dep_id,stud_num)主键:class _idbook_info(选用教材信息表)(book_id,book_name,pub_company,author,book_price,dep_id)主键:book_iddepartment_info(系部信息表)(dep_id,dep_name,dep_header,dep_num)主键:dep_idclassroom_info(排课教室信息表)(croom_id,croom_name)主键:croom _idstudent_grade(学
17、生成绩表)(course_id,stud_id,grade,stud_credit,term,form)主键:course_id+stud_idteacher_class_course(排课信息表)(teac_id,class_id,course_id,classroom_id,term,weeks)主键:teac_id+course_id+class_id 1.2.3 1.2.3 逻辑结构设计逻辑结构设计认识SQLServer2005 数据库的物理结构依赖于具体的DBMS和硬件系统。物理设计包括以下几方面:(1)确定数据的存储结构。(2)确定数据的存放位置。(3)设计数据的存取路径。(4)确
18、定系统配置。(5)评价物理结构的合理性。(6)数据完整性设计。根据选用的DBMS,设计出完整性方案,保证放入数据库中数据的完整性、一致性和准确性。(7)实施设计方案。1.2.4 1.2.4 物理结构设计物理结构设计认识SQLServer2005 对数据库的物理结构进行实施后,基本解决了数据的存取、更新和删除等问题。但直接对数据库进行操作需要专业的数据库知识。因此,对于一般用户来说,提供一个友好的人机界面完成对数据库的操作是更好的解决方案。这需要开发者利用某些应用程序开发语言和数据库访问技术编写应用程序,帮助用户完成相应的数据库操作业务。1.2.5 1.2.5 数据库应用程序开发数据库应用程序开
19、发认识SQLServer20051.3.1 SQL Server 2005概述1.3.2 SQL Server 2005的安装1.3.3 SQL Server 2005的简单操作1.3.4 关于T-SQL语言任务:任务:了解SQL Server 2005的功能特点、安装过程,SQL Server Management Services的基本操作,了解T-SQL语言的特点及基本语法。1.3 认识认识SQL Server 2005认识SQLServer2005 Microsoft SQL Server 2005 是一个关系数据库管理系统,包括数据管理、数据库开发和商业智能三大功能。1SQL Ser
20、ver 2005的新增功能2SQL Server 2005的体系结构1.3.1 SQL Server 20051.3.1 SQL Server 2005概述概述企业数据管理数据库开发商业智能第三方应用程序Microsoft SQL Server 2005管理工具报表功能集成功能通知功能分析功能复制功能关系数据库管理Microsoft SQL Server由四大组件组成:协议(Protocol)、关系引擎(Relational Engine,或Query Processor 查询处理器)、存储引擎(Storage Engine)和SQLOS(SQL Operation System)。任何客户端
21、应用程序提交给SQL Server的每一个批处理(Batch)都必须与这四个组件进行交互。认识SQLServer20053SQL Server 2005的系统数据库和样本数据库 master数据库。记录SQL Server所有系统级信息,包括磁盘空间、文件分配和使用、系统配置参数、登录账户信息、初始化信息等。禁止用户直接访问该数据库。model数据库。当前SQL Server 实例上创建的所有数据库的模板,包括所有用户数据库和tempdb数据库的模板。msdb数据库。SQL Server 代理服务使用的数据库,为警报、作业、任务调度和记录操作员的操作信息提供存储空间。tempdb数据库。是一个
22、中间结果集,为所有的临时表、临时存储过程及其他的临时操作提供空间。1.3.1 SQL Server 20051.3.1 SQL Server 2005概述概述认识SQLServer2005 SQL(Structure Query Language,结构化查询语言)是一种关系数据库标准语言,在关系数据库中完成定义、查询、操纵和控制数据的操作,应用程序通过调用SQL语句访问数据库。T-SQL(Transact Structure Query Language,事务化SQL语言)是对标准SQL语言功能的扩充。很多大型关系型数据库都在标准SQL基础上,结合自身特点推出可进行高级编程的、结构化的SQL语
23、言,如SQL Server 2005的T-SQL。1.3.4 1.3.4 关于关于T-SQLT-SQL语言语言认识SQLServer20051.3.4 1.3.4 关于关于T-SQLT-SQL语言语言1SQL语言的特点(1)语法简单,功能强大。(2)实现数据完整性和数据库安全管理。(3)是一种面向集合的语言,用户只提出“做什么”,而“怎么做”由DBMS来解决。(4)不是一种程序开发语言,只提供对数据库的操作能力,不具有屏幕控制、报表生成、菜单管理等功能。(5)是一种交互式语言,既可作为独立语言使用,也可以嵌入到其他开发语言中使用。(6)实现分布式数据处理,实现数据仓库。认识SQLServer2
24、0052SQL语言的分类 SQL语言分为四类:数据定义语言(DDL)、数据查询语言(DQL)、数据操纵语言(DML)和数据控制语言(DCL)。数据定义语言(DDL):创建、修改、删除数据库中的各类对象。基本语句包括:CREATE DATABASE,CREATE/ALTER/DROP TABLE,CREATE/DROP VIEW,CREATE/DROP INDEX。数据查询语言(DQL):按照指定的条件表达式或排序要求查询、统计数据库中的数据。基本语句:SELECT FROM WHERE。数据操纵语言(DML):对数据库输入、删除、修改数据的操作。基本语句:INSERT、UPDATE、DELET
25、E。数据控制语言(DCL):授予或收回访问数据库的某种权限、控制事务的发生时间及效果,对数据库进行监控。基本语句:GRANT、REVOKE、COMMIT、ROLLBACK。1.3.4 1.3.4 关于关于T-SQLT-SQL语言语言认识SQLServer20053批(batch)一个SQL语句集,作为一个组一起提交、执行,结束符为GO。4脚本 一系列顺序提交的批。5流程控制语句 用来控制SQL语句执行的顺序 包括:(1)IF ELSE语句:条件结构。(2)CASE语句:多条件分支结构。(3)GOTO语句:无条件转移。(4)WHILE语句:循环结构。(5)BEGIN END:将一组SQL语句作为
26、一整个语句块,必须一次执行完,除非遇到转移语句。(6)RETURN语句:无条件返回。(7)PRINT语句:屏幕打印。(8)RAISERROR语句:向屏幕显示错误信息。(9)WAITFOR语句:使脚本暂停执行,等待某一时刻的到来。6注释(1)/*/:用来注释多行语句。(2)-:只能注释当前一行语句。1.3.4 1.3.4 关于关于T-SQLT-SQL语言语言认识SQLServer2005 表:存放用户数据,是具有关联列的数据行的集合。数据类型:用来定义列或变量允许的数据值。索引:为加速查询并强制实施数据完整性的一种存储结构。视图:一种查看一个或多个表或视图中的数据的方法。约束:标准的强制实施数据
27、完整性的方法。默认值:在不输入值时,系统自动指定的由用户预先存储在该列的值。规则:由用户定义并可以捆绑到一个或多个列,包含指定存储在列里的有效值或数据类型。存储过程:一组预先编译好的完成特定功能的SQL语句组。触发器:特殊存储过程,操作表或视图中的数据时自动被激活。自定义数据类型:由用户创建、完成特定数据存储的数据类型。自定义函数:用来封装经常执行的逻辑,返回标量数值或表。键:或者唯一标识每个实体(主键),或者定义表之间的关系(外键)的列或列组。1.4.1 SQL Server 20051.4.1 SQL Server 2005的数据库对象的数据库对象认识SQLServer2005 注意:注意
28、:SQL Server 2005数据库对象的完整名字被称为数据库对象的全限定名称,包括四个元素:服务器名、数据库名、数据库所有者名和数据库对象名。基本语法如下:server.database.owner.objectserver.database.owner.object(数据库服务器名(数据库服务器名.数据库名数据库名.数据库所有者名数据库所有者名.数据库对象名)数据库对象名)使用某一个数据库对象时,可以不必使用全限定名称,而只在相应位置用“.”代替,但数据库对象名不能缺省。1.4.1 SQL Server 20051.4.1 SQL Server 2005的数据库对象的数据库对象认识SQL
29、Server20051.4.2 SSMS1.4.2 SSMS的选项的选项1.4.3 1.4.3 查询编辑器查询编辑器认识SQLServer2005项目实训项目实训1 1实训题目实训题目 对“销售合同管理系统”进行需求分析和数据库逻辑结构设计。2 2实训目的实训目的(1)了解SQL Server 2005的体系结构、安装过程。(2)熟悉SQL Server 2005的可视化管理工具SSMS的基本操作。(3)掌握数据库应用系统的设计步骤。(4)进行“销售合同管理系统”数据库的需求分析、逻辑结构设计 以及物理结构设计。3 3实训内容实训内容 设计“销售合同管理系统”数据库逻辑结构。认识SQLServer2005