欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Access和SQLServer数据库基础.ppt

    • 资源ID:6501093       资源大小:344.49KB        全文页数:56页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Access和SQLServer数据库基础.ppt

    第7章 Access和SQL Server数据库基础,本章内容:关系型数据库,Access 2003使用基础,SQL Server 2008使用基础,在Visual Studio中创建SQL Server数据库。本章重点:SQL Server 2008使用基础,包括数据库和表的创建、常用T-SQL语句的使用、存储过程、数据库的分离和附加。,7.1 关系型数据库,1关系型数据库的分类为了更有效地使用关系型数据库,通常将其设计为不同的类型,而且在具体创建数据库的过程中还应遵循一定的规则,以使数据库中的数据更便于查询和使用。关系型数据库一般可分为两类:一类是桌面数据库,如Access、FoxPro、Excel等;另一类是客户-服务器数据库,如SQL Server、Oracle等。,2表、记录和字段表(Table)由若干用于描述客观对象多个特征的记录(Record,也称为行Row)组成。表中每一列(Column)表示客观对象的同一特征,也称为字段(Field)。举例见表7-1、表7-2和表7-3。,3关键字关键字是表中某个或多个字段,可以是唯一的,也可以是非唯一的。唯一关键字可以指定为主关键字,用来唯一标识一个记录。例如,“学号”可以指定为主关键字(也称为“主键”),因为它唯一地标识了一个学生基本情况记录。4索引为了更快地访问数据,大多数数据库都使用关键字对表进行索引。也就是按关键字对数据库进行排序,并建立一张索引表,每个索引输入项都指向该记录在数据库中的行。5关系数据库中可以包含多张表,表与表之间可以用不同的方式相互关联。这样做可以充分利用数据库中现有数据,减少数据的冗余。,7.2 常用数据库产品简介,1Microsoft SQL Server数据库管理系统2Oracle数据库管理系统3Microsoft Access数据库管理系统4MySQL数据库管理系统,7.3 Access 2003使用基础,7.3.1 创建Access数据库Access的数据库是一个容器,用于存储数据库应用系统的其他对象。Access数据库文件的扩展名是.mdb。创建一个Access数据库,就创建了一个以扩展名为.mdb的文件,并存储了所有数据库子对象管理的细节。【例7-1】创建一个Student数据库。,7.3.2 Access表1表结构表结构主要包括:字段名称、数据类型和字段属性设置。(1)字段名称字段即表的列,字段名称即表的列名称。字段名称是用来标识列的。字段名称可以是英文名称,也可以是汉语名称,但都得符合Access数据库对象命名的 规则:字段名称可以包含164个字符。字段名称可以包含字母、数字、汉字和空格,以及其他特殊符号(除了“.”、惊叹号“!”、方括号“”之外)。字段名称不能使用前导空格或控制符(即ASCII码值为031的字符)。字段名称不能以空格字符开头。,(2)数据类型可以根据不同字段的需要,选择合适的数据类型。Access提供了10种数据类型,见 表7-4。,(3)字段属性字段属性不是必选的。字段属性分为两组:“常规”和“查阅”。不同的数据类型,每个分组的选项不一样。“常规”属性(“常规”选项卡)。常用的“常规”属性有以下几种。字段大小只有当字段的数据类型是文本和数字时,字段大小属性才可以设置。如果是文本型字段,则字段大小用来设定文本的长度,取值在1255之间。默认值是50。如果是数字型字段,则字段又可以选择多种子类型,见表7-5。,格式“格式”属性用于对不同数据类型字段使用不同的设置,没有默认值,见表7-6。,输入法模式输入法模式属性仅针对文本数据类型的字段有效,有3个选项:随意、输入法开启、输入法关闭,分别表示:保持原汉字输入法状态、启动汉字输入法和关闭汉字输入法。默认值是输入法开启。,输入掩码输入掩码属性可以使数据的输入变得更为容易,并且可以控制用户在文本框类型控件中的输入值。定义输入掩码属性需要用到多种字符,见表7-7。,标题标题属性值用以取代字段名称在显示表中数据时显示的内容,也就是给字段名称起了个别名。没有默认值。例如,若表的字段名称是“name”,它的标题属性值为“姓名”,则在显示记录时,该字段的显示名称为“姓名”。默认值默认值属性可以在用户没有输入数据时,自动获取指定数据。没有默认值。例如,性别字段可以设置默认值属性为“男”,当用户没有输入性别数据时,系统将自动赋值“男”。,有效性规则有效性规则属性用于指定对输入到字段中的数据的特殊规定取值。如果输入的数据违反该规则,则会向用户提示出错信息,不允许用户继续操作。没有默认值。例如,性别字段的有效性规则可以设置为:“=男 Or=女”。这样,用户只能在该字段中输入“男”或“女”,不能输入其他值。有效性文本当用户输入的数据违反有效性规则时,需要向用户提示有效性文本设置的信息。有效性文本属性和有效性规则属性原则上应该一起设置。没有默认值。例如,性别字段的有效性文本可以设置为:性别只能是男或女。如果用户输入的数据违反规则,则会向用户提示这个出错信息。,必填字段必填字段属性取值只有“是”和“否”两个选项。若选择“是”,则表示该字段可以不输入任何数据;若选择“否”,则表示该字段必须输入数据。默认值为“否”。允许空字符串允许空字符串属性取值也只有“是”和“否”两个选项。若选择“是”,则表示该字段可以为空;若选择“否”,则表示该字段必须输入数据,不能为空。默认值为“是”。索引索引是数据库随机检索的常用手段,它实际上就是记录的关键字与其相应地址的对应表。使用索引可以加快查询速度,并能保证行的唯一性。若字段设置有索引属性,则记录将以该字段的升序或降序显示。索引属性取值有“无”、“有(有重复)”和“有(无重复)”3个选项。当选择“无”,则该字段没有索引;当选择“有(有重复)”,则在该字段创建一个非唯一性索引,即该字段取值可以重复;当选择“有(无重复)”,则在该字段创建一个唯一性索引,即该字段取值不可以重复。默认值是为“无”。,Unicode压缩Unicode压缩属性取值也仅有“是”和“否”两个选项。当选择“是”,表示该字段可以存储和显示多种语言的文本;当选择“否”,表示该字段不能存储和显示多种语言的文本。默认值是为“是”。小数位数如果字段数据类型是数字,则有小数位数属性,可以让用户定义数字的小数的位数。当然了数字数据必须首先设置为单精度型或双精度型,该属性才有意义。默认值是为“自动”。“查阅”属性(“查询”选项卡)。“查阅”属性用于对指定数据类型设定窗体显示控件类型。只有文本、数字、是/否这3种数据类型可以设定窗体显示控件类型。可以将这些数据类型的显示设定为文本框、列表框、组合框或复选框。,2创建表3修改表结构4设置主键5向表中输入记录6设置关系,7.4 SQL Server 2008使用基础,7.4.1 创建SQL Server数据库1数据库文件SQL Server 2008数据库有3种类型的文件。(1)主数据文件(Primary)(2)二级数据文件(Secondary)(3)事务日志文件,2创建数据库在SQL Server Management Studio中创建数据库主要有两种方式:一种是在对象资源管理器中创建数据库,另一种是在“查询窗口”中执行T-SQL语句创建数据库。(1)在对象资源管理器中创建数据库可以在对象资源管理器中的图形界面环境下创建数据库。【例7-4】下面以创建名为TestDB数据库为例,介绍在SQL Server Management Studio中使用对象资源管理器创建数据库的过程。,创建数据库的T-SQL语句是CREATE DATABASE,其基本语法格式如下:CREATE DATABASE database_name ON PRIMARY(NAME=logical_file_name,FILENAME=os_file_name)LOG ON(NAME=logical_file_name,FILENAME=os_file_name);,3删除数据库执行删除数据库操作将从SQL Server实例中删除数据库,并删除该数据库使用的物理磁盘文件。不能删除系统数据库。(1)在对象资源管理器中删除数据库(2)在查询编辑器中用T-SQL语句删除数据库基本语法格式如下:DROP DATABASE database_name;参数说明如下。database_name:指定要删除的数据库的名称。例如,要删除TestDB数据库,使用下面代码:DROP DATABASE TestDB;,7.4.2 表的操作1数据类型类别SQL Server中的数据类型可以归纳为下列类别:精确数值、近似数值、日期和时间、字符串、Unicode字符串、二进制字符串及其他数据类型。在SQL Server中,根据其存储特征不同,某些数据类型被指定为属于下列各组。大值数据类型:varchar(max)、nvarchar(max)和varbinary(max)。大型对象数据类型:text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max)和xml。,2创建表在当前打开的数据库中创建表。(1)在对象资源管理器中创建表使用SQL Server Management Studio中的对象资源管理器创建表。,(2)在查询编辑器中用T-SQL语句创建表创建表的T-SQL语句是CREATE TABLE,其基本语法格式如下:CREATE TABLE table_name(column_name type_name PRIMARY KEY|UNIQUE NULL|NOT NULL,column_name type_name NULL|NOT NULL,);,【例7-7】用T-SQL语句,在StudentDB数据库中按表7-2创建表Course。用T-SQL语句在StudentDB数据库中创建Course表的步骤如下。在SQL Server Management Studio中,单击工具栏中的“新建查询”按钮,在右侧窗格中显示“查询分析器”。在查询编辑器中输入如下代码:USE StudentDB-打开数据库StudentDBGOCREATE TABLE Course-表名(CourseID char(4)PRIMARY KEY NOT NULL,-课程编号,主键,非空 CourseName nchar(10),-课程名 Period smallint,-学时 Credit smallint,-学分);GO 单击查询编辑器上方的“执行”按钮或按F5键,执行创建的表代码。在对象资源管理器中可以看到,StudentDB数据库下已经创建的Course表。单击查询编辑器右上角的“关闭”按钮,关闭查询编辑器。,3修改表(1)修改表结构在对象资源管理器中,右键单击需要修改表的表名,显示快捷菜单,如图7-31所示,从快捷菜单中执行“设计”命令,右侧窗格将显示表设计视图,可以像创建表一样输入表各列的属性。(2)修改表名在对象资源管理器中,右键单击需要修改表的表名,从快捷菜单中执行“重命名”命令,则该表名处出现插入点光标,允许输入新的表名。4删除表在“对象资源管理器”中,右键单击需要删除的表名,从快捷菜单中执行“删除”命令,将删除该表。,7.4.3 记录的操作记录操作包括向表中插入新记录、修改记录和删除记录。1通过表记录视图操作记录2用T-SQL添加记录将新行添加到表中的T-SQL语句是INSERT INTO,其基本语法格式如下:INSERT INTO table_name(column_name,column_name)VALUES(expression,expression);,【例7-8】用T-SQL语句,在StudentDB数据库中,按表7-2中的数据向表Course中添 加行。用T-SQL语句在StudentDB数据库中向Course表添加记录的步骤如下。在SQL Server Management Studio中,单击工具栏中的“新建查询”按钮,在右侧窗格中显示查询分析器。在“查询编辑器”中输入如下代码:USE StudentDB-打开数据库StudentDBGOINSERT INTO Course-指定列名,添加一行(CourseID,CourseName,Period,Credit)VALUES(1102,英语1,80,6);GOINSERT INTO Course-按表中列的顺序,添加3行 VALUES(3205,数据结构,70,5),(3206,数据库技术,80,6),(3208,C#,60,4);SELECT*FROM Course-显示Course表中的所有记录GO,3用T-SQL修改记录使用UPDATE语句可以按照某个条件修改表中的现有行的列的值。将新行添加到表中的T-SQL语句是UPDATE,其基本语法格式如下:UPDATE table_name SET column_name=expression,column_name=expression WHERE search_condition;,【例7-9】用T-SQL语句,在StudentDB数据库中,修改表StudentInfo、Course中的数据。在下面的代码示例中,将StudentInfo表中对符合指定学号的行,更改出生日期和Email列的值:UPDATE StudentInfo SET DateOfBirth=1991-10-28,Email=L WHERE StudentID=200902603006;执行的结果如图7-37所示。在下面示例代码中,没有指定WHERE子句,将更新所有行。UPDATE Course SET Period=Period10,4用T-SQL删除记录使用DELETE语句可以按照某个条件删除表中的行。将新行添加到表中的T-SQL语句是UPDATE,其基本语法格式如下:DELETE FROM table_name WHERE search_condition;,【例7-10】使用T-SQL语句从StudentMark表中删除Score列的值小于60的所有行。USE StudentDB-打开数据库StudentDBGODELETE FROM StudentMark WHERE Score60,7.4.4 查询的操作1SELECT语句查询操作用于从数据库中检索行,并从一个或多个表中选择一个或多个行或列。使用SELECT语句实现查询操作,SELECT语句主要用于从数据库中返回需要的数据集。虽然SELECT语句的完整语法较复杂,但其基本语法格式如下:SELECT select_list INTO new_table FROM table_source_list WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC|DESC;,2WHERE、GROUP BY和HAVING子句的处理顺序以下步骤列出带WHERE子句、GROUP BY子句和HAVING子句的SELECT语句的处理顺序。FROM子句返回初始结果集。WHERE子句排除不满足搜索条件的行。GROUP BY子句将选定的行收集到GROUP BY子句中各个唯一值的组中。选择列表中指定的聚合函数可以计算各组的汇总值。此外,HAVING子句排除不满足搜索条件的行。,3数据库查询需要注意的问题(1)字符串中的单引号SQL语句中的字符串(字符型常量)一定要用单引号“”括起来。例如:SELECT*FROM StudentInfo WHERE WHERE StudentID LIKE 200902602%;如果要查询的关键字本身含有单引号,则要用两个连续的单引号表示一个单引号。(2)数据库空值的处理在程序中,p_str=与p_str IS Null是不同的。在读取数据库时,如果返回值是Null,则把它赋值给String型的变量时就会出错,需要另外判断它是否为空值,为了减少出错,在设计数据库时尽量指定字段为非空并指定默认值。,(3)ORDER BY子句的使用对查询结果使用ORDER BY子句进行排序时,用来排序的列必须在查询中列出。例如:SELECT StudentID,StudentName FROM StudentInfo GROUP BY StudentID;(4)多表连接查询时的问题在对数据库中的多张表查询时,若有字段名重名,则一定要指定该字段的表名或别名。,4SELECT语句示例(1)使用简单FROM子句【例7-11】以下示例从StudentDB数据库的StudentInfo、Course、StudentMark表中检索数据。在查询编辑器中可以执行代码,查看运行结果。下面语句返回StudentDB数据库的StudentInfo表中的所有行(未指定WHERE子句)和所有列(使用*)。USE StudentDB-打开数据库StudentDBGOSELECT*FROM StudentInfo;GO 下面语句返回StudentInfo表的所有行(未指定WHERE子句)和列子集(StudentID、StudentName),此外,还添加了一个列标题,并按StudentID升序排列显示。SELECT StudentID,StudentName AS 学生姓名 FROM StudentInfo ORDER BY StudentID ASC;,下面语句仅返回StudentInfo表中包含1991年6月1日以后出生的女生的那些行。SELECT*FROM StudentInfo WHERE DateOfBirth=1991-6-1 AND Sex=女 使用SELECT INTO创建表。下面语句将在StudentDB数据库中创建一个名为#Stu的临时表,临时表中的行满足StudentID列值的前9位是200902602的条件。SELECT*INTO#Stu-创建名为#Stu的临时表 FROM StudentInfo WHERE StudentID LIKE 200902602%;SELECT*-显示临时表中的所有行、所有列 FROM#Stu;GODROP TABLE#Stu;-删除临时表GO,等价关联查询。从StudentInfo、Course、StudentMark这3个表中选择6列,创建tempStudentMark表,返回多表查询等价关联的行。在查询编辑器中执行结果如图7-39所示。SELECT StudentMark.StudentID,StudentInfo.StudentName,StudentMark.CourseID,Course.CourseName,StudentMark.Score,Course.Credit INTO tempStudentMark FROM StudentMark JOIN StudentInfo ON StudentMark.StudentID=StudentInfo.StudentID JOIN Course ON StudentMark.CourseID=Course.CourseID;GOSELECT*-显示生成表中的所有行、所有列 FROM tempStudentMark;GODROP TABLE tempStudentMark;-为了能多次执行,删除生成的表GO,下面语句按产品StudentID将StudentMark表分组,每个学生返回一行,并显示考试门数和平均成绩。在查询编辑器中的执行结果如图7-40所示。SELECT StudentID,COUNT(StudentID)AS 考试门数,AVG(Score)AS 平均成绩 FROM StudentMark GROUP BY StudentID;如果要在查询结果显示学号对应的学生姓名,则要采用多表连接,代码如下:SELECT m.StudentID,i.StudentName,COUNT(m.StudentID)AS 考试门数,AVG(m.Score)AS 平均成绩 FROM StudentMark m-m为StudentMark别名 INNER JOIN StudentInfo i ON m.StudentID=i.StudentID-i为StudentInfo的别名 GROUP BY m.StudentID,i.StudentName ORDER BY m.StudentID;,下面语句显示带聚合函数的HAVING子句。该子句按StudentID将StudentMark表中的行进行分组,并查找平均成绩Score大于等于85的学号。SELECT StudentID,AVG(Score)AS 平均成绩 FROM StudentMark GROUP BY StudentID HAVING AVG(Score)=85;,7.4.5 存储过程的操作1存储过程简介2使用SQL Server Management Studio管理存储过程(1)创建存储过程【例7-12】在StudentDB数据库中创建用于显示所找学生信息的存储过程up_FindStudent Info。(2)运行存储过程【例7-13】运行存储过程up_FindStudentInfo。,3使用T-SQL管理存储过程(1)创建存储过程可以使用T-SQL语句CREATE PROCEDURE来创建存储过程。其基本语法格式如下:CREATE PROCEDURE procedure_name parameter data_type=default OUTPUT READONLY parameter data_type=default OUTPUT READONLY AS;,(2)执行存储过程执行存储过程的基本语法格式如下:EXEC|EXECUTE procedure_name parameter_name=value,【例7-14】设计一个存储过程,返回所有学生信息。该存储过程不使用任何参数。编写存储过程uspGetAllStudentInfo,代码如下:USE StudentDB;GOCREATE PROCEDURE uspGetAllStudentInfoAS SELECT*FROM StudentInfo ORDER BY StudentID ASC;GO,【例7-15】用存储过程实现把新添加的课程保存到Course表中。课程的相关信息用参数传递给存储过程。编写存储过程uspInsertCourse,代码如下:USE StudentDBGOCREATE PROCEDURE uspInsertCourse(CourseID char(4),CourseName nvarchar(10),Period smallint,Credit smallint)AS INSERT INTO Course(CourseID,CourseName,Period,Credit)VALUES(CourseID,CourseName,Period,Credit);SELECT*FROM CourseGO,运行存储过程uspInsertCourse的代码如下:EXECUTE uspInsertCourse 3209,NASP.NET,80,6;GO另外一个传递参数的方法是在赋值时指明参数,此时各个参数的顺序可以任意排列,例如:EXECUTE uspInsertCourse CourseName=N面向对象技术,CourseID=3210,Period=70,Credit=5;GO,7.4.6 数据库的分离和附加如果要把在某一台SQL Server服务器中运行的用户数据库,移动到另外一台SQL Server服务器中运行,则要用到分离和附加数据库。1分离数据库分离数据库是指将数据库从SQL Server实例中删除,但组成该数据库的数据文件和事务日志文件仍然存放在磁盘上。之后,可以使用这些文件将数据库附加到任何SQL Server实 例中。,2附加数据库可以附加复制的或分离的SQL Server数据库。通常,附加数据库后会将数据库重置为它分离或复制时的状态。附加后,该数据库会启动。对于从网上下载或从其他计算机复制到本地磁盘上的SQL Server数据库文件,要先附加到SQL Server中。附加数据库时,所有数据文件(MDF文件和NDF文件)都必须可用。如果任何数据文件的路径不同于首次创建数据库或上次附加数据库时的路径,则必须指定文件的当前路径。,7.5 在Visual Studio中创建SQL Server数据库,1创建数据库2向数据库中添加表3向数据库中的表添加或显示数据4创建查询5取消对锁定数据库的锁定,7.6 实训,实训目的1)掌握Access、SQL Server数据库的创建和管理,表的创建和管理,记录的操作。2)掌握基本T-SQL语句的使用。实训内容,

    注意事项

    本文(Access和SQLServer数据库基础.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开