650 likes | 730 Views
第三章 教学网站的数据库设计. 刘根萍 shliugp@163.com. 学习内容. ( 1 )数据库设计原理 ( 2 )数据库表及表之间的关系设计 ( 3 )数据库表结构的详细设计 ( 4 )创建 SQL Server 2000 数据库 ( 5 )建立数据库连接. 学习目标. 了解:数据库设计的原则 掌握:数据库设计的方法; SQL Server 中创建与管理数据库的方法; ASP 编程建立数据库连接的方法. 第一节 数据库设计. 概念、过程、技巧、数据类型、范例. 第二节 创建数据库. 服务器管理(启动注册)、数据库管理、
E N D
第三章教学网站的数据库设计 刘根萍 shliugp@163.com
学习内容 (1)数据库设计原理 (2)数据库表及表之间的关系设计 (3)数据库表结构的详细设计 (4)创建SQL Server 2000数据库 (5)建立数据库连接
学习目标 了解:数据库设计的原则 掌握:数据库设计的方法; SQL Server 中创建与管理数据库的方法; ASP编程建立数据库连接的方法
第一节 数据库设计 概念、过程、技巧、数据类型、范例
第二节 创建数据库 服务器管理(启动注册)、数据库管理、 表管理(创建、分离、附加)、视图 数据库关系图、安全管理、导入/导出数据 ASP连接数据库
企业管理器 开始菜单启动企业管理器,其菜单栏分为两层。上层是主菜单栏(不变);下层是控制台菜单栏(变化)
企业管理器 企业管理器经常用于以下方面的管理工作:管理数据库管理数据库对象管理备份管理复制管理登录和许可管理SQL Server Agent 等
文件 SQL Server数据库由数据库文件和事务日志文件组成 (1) 数据库文件:存放数据库数据和数据库对象的文件。 一个主数据库文件,*.mdf,存储启动信息和部分或全部数据 一个或以上其他数据库文件被称为次数据库文件, *.ndf (2) 事务日志文件:记录数据库更新情况的文件 *.ldf。
启动服务器 1、用企业管理器在企业管理器 的SQL Server组中在所要启动的服务器上单击右键选择“启动”项 2、用服务管理器在程序中选择服务器管理器
注册服务器 企业管理器中,菜单“操作”—“新建sql server注册” 方法1:使用注册向导 方法2:使用注册属性对话框
创建数据库 1)单击工具栏中的图标 ,或在服务器的数据库文件夹或其下属数据库图标上单击右键,选择新建数据库…选项。 2)指定数据库的名称 和编码方式
创建数据库 3) 点击数据文件页框,指定数据库文件的名称、存储位置、初始容量大小和所属文件组 4) 进行数据库文件大小扩充方式和容量限制设置
创建数据库 5) 点击事务日志页框,指定事务日志文件的名称、存储位置和初始容量大小6) 进行事务日志文件大小扩充方式和容量限制设置
创建数据库 注意: 1)数据库的名称最长为128个字符,且不区分大小写。2)在此指定的文件容量以MB为单位,数据库文件的最小容量为1MB,最大容量为1,048,516TB 3)事务日志文件的最小容量为1MB。4)一个服务器在理论上可以管理32,767数据库。 5)右键—属性,可以修改数据库属性 6)右键—删除,可删除数据库
压缩数据库 企业管理器—选择某数据库—右键—所有任务—收缩数据库
分离与附加数据库 可以使用拆分(Detach)和附加(Attach)的方法来移动数据库。 拆分数据库是从服务器中移去逻辑数据库,但不会将操作系统中的数据库文件删除。 附加数据库将会创建一个新的数据库,并复制存储在已有的数据库文件和事务日志文件中的数据。
分离数据库 企业管理器—选择某数据库—右键—所有任务—分离数据库 拆分后的数据库文件保存在安装目录下 C:\Program Files\Microsoft SQL Server\MSSQL\Data
附加数据库 企业管理器—选择数据库—右键—所有任务—附加数据库
表 表:由行(Row)和列(Column)组成的
创建数据库表 企业管理器中,在要创建表的数据库中选择“表”对象后,单击右键,选择“新建表”,或在工具栏中选择图标 。 然后设定表的列名、数据类型、精度、缺省值等属性。
列属性 列名 数据类型 NOT NULL 属性 IDENTITY(使表的列包含系统自动生成的数字)
列属性 注意: 1、一个列不能同时具有NULL属性和IDENTITY属性,只能二者选其一。 2、一个表至少有一列,但最多不超过1024个列。 每个数据库中最多可以创建200万个表。 3、表在存储时使用的计量单位是盘区(Extent)。一个盘区分为8个数据页,每页8KB字节。在创建新表时,会分配给它一个初始只为一个盘区的存储空间。当增加表的存储空间时,以盘区为单位增加。
查看表数据 选择表,右键—属性可查看表属性 右键—打开表—返回所有行可查看表数据
数据关系图 在SQL Server 中图表其实就是数据库表之间的关系示意图。利用它可以编辑表与表之间的关系。
数据关系图 右键—新建数据关系图
视图 视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。
视图 对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)、删除。 当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时,若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。
视图 例如:从前表中抽取字段员工编号emp_id、员工姓名e_name、员工部门编号dept_id、员工工资e_wage 组成一个员工工资信息表
视图 例如:从前表中抽取数据组成工作级别(job_level)为2 的员工信息表
视图优点 视点集中 视图集中即是使用户只关心它感兴趣的某些特定数据和他们所负责的特定任务。这样通过只允许用户看到视图中所定义的数据而不是视图引用表中的数据而提高了数据的安全性。简化操作 视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集,这样在每一次执行相同的查询时,不必重新写这些复杂的查询语句,只要一条简单的查询视图语句即可。可见视图向用户隐藏了表与表之间的复杂的连接操作。定制数据 视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有许多不同水平的用户共用同一数据库时,这显得极为重要。
视图优点 合并分割数据在有些情况下,由于表中数据量太大,故在表的设计时常将表进行水平分割或垂直分割,但表的结构的变化却对应用程序产生不良的影响。如果使用视图就可以重新保持原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。安全性 视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果集,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。
创建视图 1、在控制台左侧目录树中选择数据库—视图—右键—新建视图
创建视图 2、在表区,右键—添加表 3、在列区,选择将包括在视图的数据列,此时相应的SQL SERVER 脚本便显示在SQL script 区 4、右键—运行,在数据结果区将显示包含在视图中的数据行 5、保存
修改、查看视图 在控制台左侧目录树中选择数据库—视图—右键—设计视图或属性
视图操作注意 通过视图对数据进行更新与删除时需要注意:1、执行UPDATE DELETE 时,所删除与更新的数据,必须包含在视图结果集中;2、如果视图引用多个表时,无法用DELETE 命令删除数据,若使用UPDATE 则应与INSERT 操作一样,被更新的列必须属于同一个表。
认证模式 WINDOWS 认证模式SQL Server 认证与WINDOWS 认证的混合模式 选择sql server注册,右键-属性-安全性
管理安全性 1、目录树安全性-登录 2、右键-新建登录 3、设置登录属性:常规与数据库访问 4、用户及权限管理:选择某数据库,设置相应数据库用户的权限
管理安全性 用户及权限管理 选择用户—右键—属性—权限
备份数据库 1、目录树—管理—备份—新建备份设备—输入名称,选择文件名—确定 2、选择要备份的数据库—右键—所有任务—备份数据库—选择要备份的数据库、选择目的为建好的备份设备—确定
恢复数据库 选择要备份的数据库—右键—所有任务—还原数据库—选择从设备—选择备份时建立好的备份设备—确定
导入、导出数据库 DTS(数据转换服务) 导入、导出向导帮助用户交互式地建立包,从而实现在具有OLE DB 和ODBC 驱动程序的源和目标数据源间进行数据的导入、导出和转换
导出 1、目录树-数据转换服务-右键-所有任务-导出数据,进入DTS Export向导-选择源数据(服务器、数据库) 2、选择目标数据服务器和数据库 3、指定传递的内容 4、选择表或视图
Access数据库转换为sql server • 找到你需要加入数据的服务器以及数据库 • 直接点击数据库的名字 • 右键—所有任务—导入数据,弹出DTS Import向导 • 下一步,在souce里面选择那个钥匙图标的access,选择mdb文件,如果有密码保护请输入 • server中选择你要导入的目的服务器以及database目的数据库 • 选择copy the tables from souce datase • select all • Run immediately
数据库转换 利用“导入/导出数据”功能可以将sql数据库转换为access、excel数据库
ASP连接ACCESS数据库 非数据源的连接方法 <% Dim db ‘创建一个connection对象实例 Set db=Server.CreateObject("ADODB.Connection") ‘用connection对象实例db打开数据库 db.Open "Dbq="&Server.Mappath(“mydb.mdb")& ";Driver= {Microsoft Access Driver (*.mdb)}" %>
ASP连接ACCESS数据库 非数据源的连接方法中,有两个参数,一个是:dbq=数据库的物理路径,一个是:Driver={数据库驱动程序}。两个参数之间用“;”隔开。 Db.open "Dbq=" & Server.Mappath(“mydb.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
ASP连接数据库 注意: (1)非数据源方式打开数据库时,db.Open后跟的是一个字符串; (2)数据库的地址是物理地址,可以用Server.Mappath方法把相对地址转换为物理地址,也可以直接写,不过直接写数据库的物理路径,在程序移植时需要修改物理路径,或放在指定的位置。 (3)数据库类型:由于我们用的是Access数据库,所以注明“Driver={Microsoft Access Driver (*.mdb)}” ,且注意在Driver和(*.mdb)之间的空格。 (4)数据库地址信息和类型信息之间用“;”隔开