实验4 SQL Server 2005创建数据类型和表
SQLServer2005

第一章 数据库的基本操作
一、新建数据库
语法格式:
CREATE DATABASE 数据库名 [ON {[PRIMARY] (NAME=‘逻辑文件名’ (NAME=‘逻辑文件名’, FILENAME=‘物理磁盘文件名’ FILENAME=‘物理磁盘文件名’ [,SIZE=文件初始大小] [,SIZE=文件初始大小] [,MAXSIZE={文件最大长度 [,MAXSIZE={文件最大长度 |UNLIMITED}] [,FILEGROWTH=文件增长方式]) [,FILEGROWTH=文件增长方式])
第三章 表数据的基本操作
一、数据的添加、修改和删除 1、数据的添加(INSERT命令) 语法格式: INSERT INTO 表名(列名1,列名2,列名 3,……) VALUES(值1,值2,值3,……) /* 列名列表可省略 */ 或 INSERT INTO 表名 (SELECT 子句)
•例: (1)INSERT INTO xsda(sno,sname,sex,birth,grade) VALUES (‘S01’,‘张三’,‘男’,‘1980-1-13’,135.5) (2)INSERT INTO xsda VALUES(‘S02’,‘李四’,‘女’, ‘981-2-20’,124.5) (3)INSERT INTO xsda (SELECT * FROM xsda1 WHERE sex=‘男’)
注意:如果同时约束表中的多列最好用表级约束, 注意:如果同时约束表中的多列最好用表级约束,例如, 创建下表的主键同时为sno和cno 创建下表的主键同时为 例3:创建xscj表结构 CREATE TABLE xscj ( sno CHAR(3) FOREIGN KEY REFERENCES xsda(sno), cno CHAR(3) FOREIGN KEY REFERENCES kc(cno), grade DECIMAL(4,1) CHECK(grade between 0 and 100), score INT DEFAULT 0, PRIMARY KEY (sno,cno) )
《SQL Server 2005实用教程》实验报告(四)

AS
SELECT a.StudentID、c.StudentName、a.LessonID、b.LessonName
FROM LessonSelectTable As a INNET JOIN StudentTable As c
1)视图名称为Lesson_Select_View。
2)包含LessonSelectTable表的StudentID字段、StudentTable表的StudentName字段、LessonSelectTable表的LessonID字段和LessonTable表的LessonName字段。
(3)使用Transact-SQL语句通过Lesson_Select_View视图向LessonSelectTable表添加如下一条记录:学号为11204的同学选择课程号为12002的课程
“添加表”对话框
4)向视图设计器中添加了StudentTable表后,单击“关闭”按钮关闭“添加表”对话框。在视图设计器中选择构建视图所需要的列,如下图所示:
视图设计器
5)单击“保存”按钮保存视图,在弹出的选择命名对话框中填入StudentView作为视图的名字。此时,在资源管理器的视图一项下,将出现所建立的视图。
《SQL Server 2005实用教程》实验报告(二)
班级:
学号:
姓名:
实验成绩:优秀□良好□中□及格□不及格□
实验题目:创建和维护视图
实验目的:掌握SQL Server 2005数据库的视图的创建和维护的操作方法。
实验要求:
1、使用对象资源管理器和Transact-SQL语句,在数据库中MyDB完成如下操作。
(4)使用Transact-SQL语句通过Lesson_Select_View视图修改刚才添加的数据。
SQL Server 2005基本表操作

实验1 SQL Server 2005基本表操作一、实验目的1.掌握使用Management Studio创建和修改表结构。
2.掌握使用Management Studio进行索引操作。
3.掌握使用使用SQL语句创建和修改表结构。
4.掌握使用SQL语句进行索引操作。
5.掌握使用Management Studio添加、修改和删除数据。
二、实验要求1.分别使用Management Studio图形界面和SQL语句完成创建、修改和删除表结构等操作。
2.分别使用Management Studio图形界面和SQL语句完成索引的创建、修改和删除等操作。
3.使用Management Studio图形界面完成数据的添加、修改和删除操作。
4.请参考如下表结构完成以上操作。
现有学生管理数据库,数据库名为ST,包含学生信息、课程信息、教师信息、选课信息以及教学任务信息。
数据库ST包含下列5个表。
(1)StudentInfo: 学生信息表。
(2)CourseInfo: 课程信息表。
(3)TeacherInfo: 教师信息表。
(4)SC: 选课信息表。
(5)TeachTasksInfo: 教学任务信息表。
各表的结构和表中数据示例分别如表3-1至表3-10所示。
表3-1 StudentInfo表结构表名:StudentInfo 说明:学生基本信息表属性列数据类型长度空值列约束说明Sno char 12 Not Null PK 学生学号Sname nvarchar 20 Null 学生姓名Sex char 2 Null 学生性别Birthday date Null 出生日期Depart nvarchar 30 Null 学生系别Major nvarchar 50 Null 学生专业LengSch tinyint Null 学生学制表3-2 StudentInfo表中数据示例Sno Sname Sex Birthday Depart Major LengSch 201001903051 辛月娟女1990-4-27 经济管理系工商管理(本科) 4201001903057 谭文娟女1990-11-12 计算机系计算机科学与技术(本科) 4 201001903029 明梅女1991-3-15 计算机系计算机科学与技术(本科) 4 201011002031 徐雁男1989-07-02 计算机系信息管理与信息系统(1+3) 4 201011002032 秦赵璇女1989-08-21 计算机系信息管理与信息系统(1+3) 4 201011801017 王鹏飞男1991-1-5 服装系服装设计与工程(专科) 3 201011801018 哈菲菲女1991-9-9 服装系服装设计与工程(1+3) 4表3-3 CourseInfo表结构表名:CourseInfo 说明:课程信息表属性列数据类型长度空值列约束说明Cno char 6 Not Null PK 课程编号Cname nvarchar 50 Null 课程名称Cpno char 6 Null 先行课Credit Decimal 2 Null 学分表3-4 CourseInfo表中数据示例Cno Cname Cpno Credit 140173 数据库系统概论140176 3140174 C语言程序设计 2140175 操作系统140176 3140176 数据结构140174 3.5140178 计算机英语 2140179 软件工程140173 2140180 计算机组成原理 4表3-5 TeacherInfo表结构表名:TeacherInfo 说明:教师信息表属性列数据类型长度空值列约束说明TeacherI D char5 Not Null PK职工号Tname nvarchar 20 Null 姓名Sex char 2 Null 性别Depart nvarchar 30 Null 所在院系ProfTitle nvarchar 10 Null 职称Degree char 6 Null 学位表3-6 TeacherInfo表中数据示例TeacherID Tname Sex Depart ProfTitle Degree 04001 白红霞女计算机系教授博士09001 安宁女计算机系讲师本科09004 董敏女化学系教授博士09006 冯李宁男计算机系副教授本科06067 范美丽女数学系讲师硕士09011 华玉山男计算机系助教硕士09016 王洪亮男计算机系副教授本科表3-7 TeachTasksInfo表结构表名:TeachTasksInfo 说明:教学任务表属性列数据类型长度空值列约束说明TeachTask ID char26 Not Null PK教学任务编号Cno char 6 Null 课程编号TeacherID char 5 Null 教师编号AcadYear char 9 Null 开设学年Term char 1 Null 开设学期ExamMeth od varchar10 Null考试方式Depart varchar 30 Null 开设部门TimeTable nvarchar 50 Null 上课时间表3-8 TeachTasksInfo表中数据示例TeachTaskID Cno TeacherID AcadYear Term ExamMethod Depart TimeTable(2009-2010-1)-1 40173-04001 140173 04001 2009-2010 1 考试计算机系周二第3,4节{第1-20周}(2009-2010-2)-1 40176-09006 140176 09006 2009-2010 2 考查计算机系周一第1,2节{第1-20周}(2009-2010-2)-1 40178-06067 140178 06067 2009-2010 2 考试数学系周三第1,2节{第1-20周}(2009-2010-1)-1 40180-09016 140180 09016 2009-2010 1 考查计算机系周三第5,6节{第1-20周};周五第3,4节{第1-20周}注:教学任务编号TeachTaskID的组成规则为(学年-学期)-课程号-教师号。
第四章SQL Server2005数据库表管理(界面)

河北工专计算机系 崔凌云
2010年9月 年 月
第四章 SQL Server 2005数据库表 数据库表 4.1 表的结构和数据类型
4.2 4.3 4.4 4.5 4.6 4.7 创建、修改、删除表结构 插入、修改、删除表数据 创建、修改、使用、删除视图 索引及对索引的操作 建立表之间的关系 案例
日 期 时 间 类 datetime,smalldatetime 型 时间戳型 图像型 其他 timestamp image cursor,sql_variant,table, uniqueidentifier,xml
Unicode 字 符 nchar,nvarchar、 型 nvarchar(MAX)
说明:年可用4位或2位表示,月和日可用1位或2位表示。 ※ 时间部分常用的表示格式如下:
时:分 时:分:秒 时:分:秒:毫 秒 时:分AM|PM 10:20、08:05 20:15:18、20:15:18.2 20:15:18:200 10:10AM、10:10PM
smalldatetime:smalldatetime类型数据可表示从1900年1月1日到2079年6月 6日的日期和时间,数据精确到分钟。即29.998秒或更低的值向下舍入为最接近的 分钟,29.999秒或更高的值向上舍入为最接近的分钟。
7.Unicode字符型 . 字符型 Unicode是“统一字符编码标准”,用于支持国际上非英语语种的字符数据 的存储和处理。SQL Server的Unicode字符型可以存储Unicode标准字符集定义 的各种字符。 Unicode字符型包括nchar[(n)]和nvarchar[(n)]两类。nchar是固定长度 Unicode数据的数据类型,nvarchar是可变长度 Unicode 数据的数据类型,二者 均使用UNICODE UCS-2字符集。 nchar[(n)]:nchar[(n)]为包含n个字符的固定长度 Unicode 字符型数据,n 的值在1与4000之间,缺省为1,长度2n字节。若输入的字符串长度不足n,将 以空白字符补足。 nvarchar[(n)]:nvarchar[(n)]为最多包含n个字符的可变长度Unicode字符 型数据,n的值在1与4000之间,缺省为1。长度是所输入字符个数的两倍。 实际上,nchar、nvarchar与char、varchar的使用非常相似,只是字符集不 同(前者使用Unicode字符集,后者使用ASCII字符集)。
sqlserver2005 建库表sql语句

sqlserver2005 建库表sql语句--use mastergoIF EXISTS (SELECT * FROM sys.databases WHERE name = 'StudyDB') DROP DATABASE StudyDB --如果存在则删除GOEXEC xp_cmdshell 'mkdir D:\SQL' --调用DOS命令创建文件夹--建库CREATE DATABASE StudyDBON PRIMARY( --PRIMARY 可选指定主文件组中的文件NAME = 'StudyDB1_data', --主数据文件的逻辑名FILENAME = 'D:\SQL\StudyDB1_data.mdf' , --主数据文件的物理名SIZE = 3MB, --主数据文件初始大小MAXSIZE = 5MB, --主数据文件最大大小FILEGROWTH = 20% --主数据文件的增长率), --注意","号分隔(NAME = 'StudyDB2_data', --主数据文件的逻辑名FILENAME = 'D:\SQL\StudyDB2_data.ndf' , --主数据文件的物理名SIZE = 512 KB, --主数据文件初始大小MAXSIZE = 5MB, --主数据文件最大大小FILEGROWTH = 20%)LOG ON(NAME = 'StudyDB1_log',FILENAME = 'D:\SQL\StudyDB_log1.ldf' ,SIZE = 512KB,MAXSIZE = 3MB,FILEGROWTH = 20%), --注意","号分隔(NAME = 'StudyDB2_log',FILENAME = 'D:\SQL\StudyDB_log2.ldf' ,SIZE = 512KB,MAXSIZE = 3MB,FILEGROWTH = 20%)go--建表use StudyDB --必须使用StudyDB这个数据库,不然你建立的表在master数据库里面goIF EXISTS(SELECT * FROM sys.objects WHERE name='stuInfo')DROP TABLE stuInfo--创建主表stuInfo--CREATE TABLE stuInfo(stuName NVARCHAR(20) NOT NULL,stuNo NCHAR(6) NOT NULL,stuSex NCHAR(4) NOT NULL,stuAge SMALLINT NOT NULL,stuSeat SMALLINT IDENTITY(1,1),stuAddress NTEXT)GO--为主表stuInfo创建约束[在外添加约束]--ALTER TABLE stuInfoADD CONSTRAINT PK_stuNo PRIMARY KEY(stuNo),--主键约束CONSTRAINT UQ_stuNo UNIQUE (stuNo),--唯一约束CONSTRAINT CK_stuNo CHECK(stuNo LIKE 'S253[0-9][0-9]'),--检查约束 CONSTRAINT CK_stuSex CHECK(stuSex='男' OR stuSex='女'),CONSTRAINT CK_stuAge CHECK(stuAge BETWEEN 15 AND 40),CONSTRAINT CK_stuSeat CHECK(stuSeat<=30),CONSTRAINT DF_stuAddress DEFAULT ('地址不详') FOR stuAddress --默认值设置GO--创建从表stuMarks--CREATE TABLE stuMarks(ExamNo CHAR(7) NOT NULL,stuNo NCHAR(6) NOT NULL,writtenExam SMALLINT NOT NULL,LabExam SMALLINT NOT NULL)GO--为从表stuMarks创建约束--ALTER TABLE stuMarksADD CONSTRAINT PK_ExamNo PRIMARY KEY(ExamNo),CONSTRAINT CK_ExamNo CHECK(ExamNo LIKE 'S2718[0-9][0-9]'),CONSTRAINT FK_stuNo FOREIGN KEY(stuNo) REFERENCESstuInfo(stuNo),--外键约束CONSTRAINT CK_writtenExam CHECK(writtenExam BETWEEN 0 AND 100),CONSTRAINT DF_writtenExam DEFAULT 0 FOR writtenExam,CONSTRAINT CK_LabExam CHECK(LabExam BETWEEN 0 AND 100),CONSTRAINT DF_LabExam DEFAULT 0 FOR LabExamGOCREATE TABLE TBL_TEST1(TEST1_ID INT PRIMARY KEY IDENTITY(1,1) --主键,自增, TEST_NAME VARCHAR(20) NOT NULL)CREATE TABLE TBL_TEST2(TEST2_ID INT PRIMARY KEY IDENTITY(1,1), TEST1_ID INT REFERENCES TBL_TEST1(TEST1_ID)--外键约束, TEST2_NAME VARCHAR(20) UNIQUE, TEST2_SEX CHAR(2) CHECK(TEST2_SEX='男' OR TEST2_SEX='女') --或者:CHECK TEST2_SEX IN('男','女'), TEST2_ADDRESS TEXT DEFAULT('地址不详'))insert into TBL_TEST1 values('1')select * from TBL_TEST1delete TBL_TEST1insert TBL_TEST2 values(1,'1','男','')select * from TBL_TEST2delete TBL_TEST2。
使用SQL_Server2005创建数据库和表

1、使用SQL Server2005数据库管理系统创建数据库和表
在本练习中,将使用SQL Server2005数据库管理系统创建Student数据库,并在Login数据库中创建表Login,使你能够掌握使用SQL Server2005数据库管理系统创建数据库和表的方法。
1)启动SQL Server2005:
依次单击开始->所有程序->SQL Server 2005->SQL Server Management Studio Express 。
启动SQL Server 2005数据库管理系统
2)登录数据库服务器:
点击“连接到服务器“对话框中的“连接”按钮连接到SQL Server 2005数据库服务器。
3)创建数据库Login
在SQL Server 2005数据库管理系统的左边栏“对象资源管理器”中右击数据库对象,在弹出的快捷菜单中单击“新建数据库”命令。
在弹出的“新建数据库”对话框右侧的数据库名称中输入数据库名称“Login”,然后单击确定。
4)在Login数据库中新建表”Login”
单击SQL Server 2005数据库管理系统的左侧的“对象资源管理器”栏中的”刷新”按钮,以显示出新建的数据库“Login”。
依次展开左侧栏对象资源管理器中的“数据库”->“Login”,并右击Login数据库中的表项目,在弹出的快捷菜单中单击“新建表”命令。
单击文件菜单中的保存命令保存该表,并取名为“Login”。
sqlserver试验报告—数据库和表的创建
数据库实验报告课程名称信息系统数据库技术实验名称数据表的管理专业班级 _______________________ 姓名___________________________ 学号___________________________ 实验日期 ________________________ 实验地点2012—2013 学年度第一学期一、实验目的1、掌握 Microsoft SQL Server 2005 Express Edition 的安装过程2、熟悉SQL Server 2005 Express Edition的基本菜单功能,界面。
3、掌握SQL Server 2005的启动、服务器注册等功能。
二、实验内容1、数据库的创建2、数据库的修改3、数据的导入4、数据的导出5、数据库的分离三、实验环境Windows XP 操作系统,Microsoft SQL Server 2005 Express Edition。
四、相关知识1、数据库命令规则取决于数据库兼容的级别,而数据库级别可以用存储过程sp_helpdb 来查询。
注意:其一由于在T-SQL中,“@”表示局部变量,“@@”表示全局变量,“##" 表示全局临时对象,所以不建议用这些符号作为数据库名称的开头;其二虽然在SQL Server 2005中,保留字区分大小写,但也不建议用改过大小写的保留字作为数据库名。
2、数据库文件:每个SQL Server 2005的数据库至少包含二个文件:一个数据文件(.mdf) 和一个日志文件(.ldf)。
3、数据库的创建命令:CREATE DATABASE4、数据库的修改命令:ALTER DATABASE只有数据库管到员或具有CREATE DATABASE权限的数据库所有者才有权执行 ATER DATABASE语句。
在实际操作中,ALTER DATABASE 一次只能修改一种参数5、数据库的删除命令:DROP DATABASE6、数据库的分离命令:SP_DETACH_DB 'filename'7、数据库的附加命令:CREATE DATABASE-FOR ATTACH8、数据的导入是指从其他数据源中把数据复制到SQL Server数据库中。
sql2005数据库实验
数据库实验一SQL语言的基本使用【实验目的】熟悉SQL SERVER2005的基本使用,主要包括数据库的启动连接,建立数据库,建立数据表,设置数据表的主键和外键。
【实验学时】4学时【实验类型】综合型【实验环境】SQL Server2005【实验人数】1人/组【实验内容及要求】1、数据库SQLServer 2005的基本操作1.1启动SQL Server mamagement studio如下图1.2连接数据库1.3建立数据库(1)点开界面左侧的树目录,然后选中某个连接下的“数据库”项。
(2)在“数据库”上单击鼠标右键,选择“新建数据库”。
1.3.1设置数据库的名字(3)在弹出的对话框中输入数据库的名称,数据库及日志文件的位置等设置。
(4)单击“确定”按钮完成数据库的创建。
1.4建立表(1)点开界面左侧的树目录,然后选中某个连接下的某个具体数据库。
(2)点开具体数据库前的“+”号,在“表”上单击鼠标右键,并选择“新建表”。
(3)在弹出的界面中输入列的名称、类型等相关信息,点击“保存”并输入表的名称。
1.5表中个字段的要求1.6设置外键和主键1.7.修改表及读、写表(1)点开界面左侧的树目录,然后选中某个连接下的某个具体数据库。
(2)点开具体数据库前的“+”号,在“表”上单击鼠标左键。
(3)在右边罗列出该数据库下的所有数据表,选中某个数据表并在上面单击鼠标右键,选择“设计表”就可以修改数据表的设置。
(4)选中某个数据表并在上面单击鼠标右键,选择“打开表”下的“返回所有行”就可以增、删、改表中的数据。
实验二SQL语言的基本操作【实验目的】掌握利用SQL语句完成各种查询操作的能力。
【实验学时】10学时【实验类型】综合型【实验环境】SQL Server2005【实验人数】1人/组【实验内容及要求】用SQL语句和企业管理器建立如下的表结构并输入数据给定表结构如下:)用SQL1.查询信息系(IS)的所有学生信息2.查询选修了“数学”课的所有学生名单3.查询至少选修了一门其直接先行课为5号课程的学生的姓名。
SQL Sever2005设计数据库
SQL Sever2005设计数据库4.1创建数据库:sqlBookshop4.2创建表:表名:sqlBookshop表名:pinglun序号列名数据类型长度小数位标识主键允许空默认值说明1 postID int 0 √2 bookID int 0 √3 textname varchar 100 04 userName nvarchar 50 05 text varchar 1000 06 speaktime datetime表名:tblBook序号列名数据类型长度小数位标识主键允许空默认值说明1 bookID int 0 √2 typeID int 4 03 bookName nvarchar 50 04 bookAuthor nvarchar 50 0 √5 bookPrice numeric(18,1) 06 publisher nvarchar 50 0 √7 publishDate smalldatetime 10 0 √8 bookImage nvarchar 50 0 √9 IsSelling bit 0表名:tblorder序号列名数据类型长度小数位标识主键允许空默认值说明1 orderID int 0 √2 userID int 03 orderTime smalldatetime 04 orderSum numeric(10,1) 05 payment nvarchar(20) 06 ship nvarchar(20) 07 buyerName nvarchar(30) 08 buyerEmail nvarchar(50) 09 buyerAddress nvarchar(60) 010 buyerCode nvarchar(30) 011 buyerTel nvarchar(30) 012 Payed int 0表名:tblorderBook序号列名数据类型长度小数位标识主键允许空默认值说明1 OrderID int 0 √2 bookID int 0 √3 quality int 04 soldPrice numeric(18,1) 05 paysum numeric(18,1)表名:tblType序号列名数据类型长度小数位标识主键允许空默认值说明1 typeID int 02 typeName sysname 03 fatherID int 0 √4 IsDelete bit 0表名:tbluser序号列名数据类型长度小数位标识主键允许空默认值说明1 UserID int 0 √√2 UserName nvarchar 50 03 UserPwd nvarchar 50 05数据库安全性5.1概述基于项目特点,项目的安全控制主要由程序代码控制。
第4章sql server 2005
上面的语法中,p表示数字的精度,s表示数字的小数位数。精度p的取值范围是1至 38,默认值是18。小数位s的取值范围必须是0到p之间的值,默认值是0。
4.1.2 SQL Server2005数据类型
(3)money和smallmoney数据类型 money和smallmoney也称为货币数据类型,这两种数据类型的差别在于存储字节 的大小和取值范围不同。 1)money:需要8个存储字节,取值范围是-263至263-1,精确到货币单位的千 分之十。 2)smallmoney:需要4个存储字节,取值范围是-215至215-1 money和smallmoney是一种确定性数值的数据类型,因为它们的精度和小数位都 是确定的。但是这两种数据类型也有一些与其他数字数据类型不同的地方。第一,当 表示货币时一定要加上$符号。第二,它们的小数位最多是4位,也就是精确到货币单 位的万分之一。第三,当小数位位数超过4位时,系统自动按照四舍五入进行处理。 (4)float和real数据类型 若要进行科学计算,并且希望存储更大的数值,但对数据的精度要求不是绝对严格, 可以考虑使用float和real数据类型,这两种数据类型用于表示指定数据的大致数据值 的数据类型。
4.1.2 SQL Server2005数据类型
2)smalldatetime :可以存储从1900年1月1日到2079年6月6日的日期和时间, 精确度为分。 在向表中输入时间日期数据时,可以使用SET DATEFORMAT语句改变时间的格式。 4.二进制数据类型 SQL Server系统提供了3种二进制数据类型,即存储固定长度的binary,存储可变 长度的varbinary以及存储图像信息的image。 binary(n)和varbinary(n)的数据长度由n 来确定,n的取值范围是1到8000,默认 值是1,如果存储二进制数据大小一致,则使用binary(n)数据类型,如果要存储的数 据类型之间大小差别较大,则使用varbinary(n)数据类型,如果存储数据大于8000字 节,就必须使用varbinary(max)数据类型。微软公司建议使用varbinary(max)来代 替image数据类型。 5.其他数据类型 除上面介绍的数据类型外,SQL Server 2005系统还提供了cursor、sql_variant、 table、timestamp、uniqueidentifier和xml数据类型,使用这些数据类型可以完成 对特殊数据对象的定义、存储和使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4创建数据类型和表4.1课堂练习:创建数据类型目标本次课堂练习的目标是能够创建基于系统提供的类型的别名类型。
您将使用SQL Server Management Studio 中的对象资源浏览器或使用CREATE TYPETransact-SQL 语句创建别名类型。
本次课堂练习将使用这两种技术在AdventureWorks 数据库中创建别名类型。
使用SQL Server Management Studio 创建别名类型执行以下步骤以使用SQL Server Management Studio 创建别名数据类型:1.单击“开始”,指向“所有程序”,指向“Micr osoft SQL Server 2005”,然后单击“SQL Serv er Manag ement Studio”。
2.在“连接到服务器”对话框中,指定下表中的值,然后单击“连接”。
属性值服务器类型数据库引擎服务器名称本地服务器身份验证Windows 身份验证3.如果“对象资源管理器”不可见,则单击“视图”菜单上的“对象资源管理器”。
4.在对象资源管理器中,依次展开“数据库”、“Adv e ntureWork s”、“可编程性”和“类型”。
5.右键单击“用户定义数据类型”,然后单击“新建用户定义数据类型”。
6.在“新建用户定义数据类型”对话框中,输入下表中的详细信息,然后单击“确定”。
属性值架构dbo名称Countr yCode数据类型char长度2允许空值选中7. 验证CountryCode 数据类型是否已显示在“用户定义数据类型”列表中。
使用Transact-SQL 创建别名类型执行以下步骤以使用Transact-SQL 创建用户定义数据类型:1.在SQL Server Management Studio 中,单击工具栏上的“新建查询”按钮。
2.在新的空白查询窗口中,创建一个数据类型为nvarchar(50),它的别名为“dbo.EmailAddress”。
3.单击工具栏上的“执行”按钮。
4.该命令成功完成之后,右键单击对象资源管理器中的“用户定义数据类型”文件夹,然后单击“刷新”确认dbo.EmailAddress 数据类型已添加到数据库中。
4.2课堂练习:创建表目标本次课堂练习的目标是能够创建表。
您将使用SQL Server Management Studio 中的对象资源浏览器或使用CREATE TABLE Transact-SQL 语句创建表。
本次课堂练习将使用这两种技术在AdventureWorks 数据库中创建表。
使用SQL Server Management Studio 创建表执行以下步骤以使用SQL Server Management Studio 创建表:1.单击“开始”,指向“所有程序”,指向“Micr osoft SQL Server 2005”,然后单击“SQL Serv er Manag ement Studio”。
2.在“连接到服务器”对话框中,指定下表中的值,然后单击“连接”。
属性值服务器类型数据库引擎服务器名称本地服务器身份验证Windows 身份验证3.如果对象资源管理器不可见,则单击“视图”菜单上的“对象资源管理器”。
4.在对象资源管理器中,依次展开“数据库”、“Adv e ntureWork s”和“表”。
5.右键单击“表”,然后单击“新建表”。
6.在“表- dbo.Table_1”窗口中,输入以下详细信息。
列名数据类型允许空值DiscountID int 不选Amount decimal (18, 0)不选DiscountN a me nv archar (50)不选D escription n varchar (M AX)选中7.单击DiscountID 行,然后检查列的列表下面的“列属性”窗格。
8.展开“标识规范”,然后将“(是标识)”属性设置为“是”。
9.在“表设计器”菜单上,单击“设置主键”。
注意主键指定惟一标识表中每条记录的列(或列组合)。
10.单击“DiscountName”行,然后检查“列属性”窗格。
11.将“长度”属性设置为25。
12.在“视图”菜单中,单击“属性窗口”,然后将“架构”属性设置为Sales。
13.单击表设计面中的任何位置,然后在“文件”菜单上,单击“保存Table_1”。
14.在“选择名称”对话框中,键入“Discount”,然后单击“确定”。
使用Transact-SQL 创建表执行以下步骤以使用Transact-SQL 创建表:1.在SQL Server Management Studio 中,单击工具栏上的“新建查询”按钮。
2. 在新的空白查询窗口中,创建表“Sales.SpecialOffers”,要求如下:●表名为Sales.SpecialOffers●字段SpecialOfferID 为整型,主键约束,非空约束;●字段OfferName 可变字符串,长度为25,非空约束;●字段Description 可变字符串,长度为200,可以为空。
3.单击工具栏上的“执行”按钮。
4.该命令成功完成之后,右键单击对象资源管理器中的“表”文件夹,然后单击“刷新”确认Sales.SpecialOffers 表已添加到数据库中。
4.3课堂练习:创建分区表案例分析在AdventureWorks数据库中Production.TransactionHistory表中记录了从2003-09-01开始至2004-09-03的交易信息,共有113443条记录。
公司发现2003年的数据查询的效率不高,另外公司的交易数据统计是以半年为单位进行。
公司数据库管理员为方便定制相应的数据库备份策略及提高数据库的性能,要将这些交易信息使用用分区表按时间段来保存。
分别将2003年的记录、2004年上半年的记录以及2004年下半年的记录存放到到不同的分区中。
分区划分步骤:创建分区函数要创建分区函数,请执行以下步骤:1.单击“开始”,指向“所有程序”,指向“Micr osoft SQL Server 2005”,然后单击“SQL Serv er Manag ement Studio”。
2.在“连接到服务器”对话框中,指定下表中的值,然后单击“连接”。
属性值服务器类型数据库引擎服务器名称本地服务器身份验证Windows 身份验证3. 新建查询,复制并补充以下T-SQL命令,通过'2004-01-0100:00:00:000'和'2004-07-01 00:00:00:000',创建分区方案。
USE AdventureWorks-- 下面这段代码创建名为pf_TestReturnDate的分区函数。
CREATE PARTITION FUNCTION pf_TestReturnDate (datetime)AS RANGE RIGHTFOR VALUES()go4.选择注释“创建分区函数”下的代码,然后单击“执行”按钮。
这段代码创建名为pf_TestReturnDate的分区函数。
创建分区方案要创建分区方案,请执行以下步骤:1.按以下要求完成“创建分区方案”写出T-SQL代码。
a)通过SQL代码添加3个文件组(分别是“Time200312”、“Time200406”和“Time200407”)到AdventureWorks数据库。
b)通过SQL代码为AdventureWorks 数据库添加3个数据文件(逻辑名分别是“Time200312”、“Time200406”和“Time200407”,存储文件名分别是“Time200312.ndf”、“Time200406.ndf”和“Time200407.ndf”,初始大小为5M,最大为100M,自动增长5M,其它无需设置),这3个数据文件分别放在a) 步骤所建的3个文件组中。
c)复制并补充以下T-SQL命令,创建名为ps_TestReturnDate的分区方案,该分区方案将pf_TestReturnDate分区函数中的分区映射到a) 步骤所建的新的文件组中。
--创建名为ps_TestReturnDate 的分区方案,该分区方案将pf_TestReturnDate 分区函数中的分区映射到新的文件组。
CREATE PARTITION SCHEME ps_TestReturnDateAS PARTITION pf_TestReturnDateTO()go2.单击“执行”按钮。
创建分区表要创建分区表,请执行以下步骤:1.选择注释“创建分区表”下的代码。
这段代码创建一个表,然后使用ON 子句将该表放置在ps_TestReturnDate分区方案中。
--创建分区表,使用ON 子句将该表放置在ps_TestReturnDate分区方案中CREATE TABLE Production.TestTransactionHistory(TransactionID int IDENTITY(1,1)NOT NULL,ProductID int NOT NULL,ReferenceOrderID int NOT NULL,ReferenceOrderLineID int NOT NULL DEFAULT((0)),TransactionDate datetime NOT NULL DEFAULT(getdate()),TransactionType nchar(1)NOT NULL,Quantity int NOT NULL,ActualCost money NOT NULL,ModifiedDate datetime NOT NULL DEFAULT(getdate()),)ON ps_TestReturnDate(TransactionDate)go2.单击“执行”按钮。
再把AdventureWorks数据库中表Production.TransactionHistory中的数据插入到新建表Production.TestTransactionHistory中--把AdventureWorks数据库中表Production.TransactionHistory中的数据--插入到新建表Production.TestTransactionHistory中insert Production.TestTransactionHistory(productid,transactionDate,ReferenceOrderID,TransactionType,Quantity,ActualCost) select productid,transactionDate,ReferenceOrderID ,TransactionType,Quantity,ActualCostfrom Production.TransactionHistorygo3.查看分区表行为,复制以下T-SQL代码执行:--查看数据的具体存储情况,即每个分区存取的记录数SELECT$partition.pf_TestReturnDate(o.TransactionDate)AS [Partition Number],min(o.TransactionDate)AS [Min TransactionDate],max(o.TransactionDate)AS [Max TransactionDate],count(*)AS [Rows In Partition]FROM production.TestTransactionHistory AS oGROUP BY$partition.pf_TestReturnDate(o.TransactionDate)ORDER BY [Partition Number]--查看指定的分区详细记录,如查看第2个分区第1章创建数据库和数据库文件SELECT*FROM Production.TestTransactionHistoryWHERE$partition.pf_TestReturnDate(TransactionDate)=24.课后思考:现在要将2004年上半年分区的记录与2004年下半年分区的记录合并应该如何操作,请写出相应的T-SQL代码。