文档库 最新最全的文档下载
当前位置:文档库 › 表的创建2011-12-18

表的创建2011-12-18

表的创建2011-12-18
表的创建2011-12-18

第一章数据库操作基础

一、表的创建

表结构建立:create 表名

表结构显示:disp stru

表结构修改:modi stru

表结构删除:

二、表记录操作

输入记录:键盘,append , INSERT,

显示记录:list [范围] [FIELD 字段] [for 条件] [while 条件]

Disp

Browse

[范围: all , next N, record N, REST]

删除记录:delete(逻辑),recall(恢复),pack(彻底);ZAP(慎用!不可恢复,灾难) 修改记录:

1、edit [范围] [FIELD 字段] [for 条件] [while 条件]

2、change

3、批量替换replace [范围] <字段> with <表达式>

replace all 成绩with 95;所有成绩改为95

list;显示结果

replace all 成绩with 成绩+5;

replace all 学号with "0000",成绩with 成绩-10;学号全部改为"0000",成绩减10

查询记录:locate [范围] [for 条件] (定位查找)

Disp (显示)

多条符合条件记录:continue

定位: 1. N

2.GO N

3.GOTO N

4.SKIP ±N

第三章

3.4索引

建立:Index on 关键字to 索引文件名

学号索引:Index on 学号to xhsy

打开:set Index to xhsy

关闭:set Index to

删除:Dele tag 文件名

补充查找:1 字符串查找find 张三(locate all for 姓名="张三" ;disp)

2 Seek “张三”

必须先做索引,才能find 、Seek

3.5自由表

3.6多表使用

工作区选择:select 区号(1-32767,a-j,0最小空闲工作区)

建立关联set relation to 索引文件名into 表名

第四章SQL语句

注:黑色为VF语句,红色为SQL语句

一、建表

CREA TE 职工表

格式:Creat ----table----表名(字段名----类型(长度),。。。)

CREA TE table 订购单表(职工号C(10),供应商号C(10),订购单号C(4),订购日期D(8) )

二、插入增加

USE 表

append

insert

在仓库表中插入一条记录:仓库号、城市、面积的值分别是"WH3"、"广州"、200 INSERT INTO 仓库表(仓库号,城市,面积) V ALUES("WH3","广州",200)

在职工表中插入一条记录:仓库号、职工号、工资的值分别是"WH1"、"E7"、1250 INSERT INTO 职工表(仓库号,职工号,工资) V ALUES(“WH1”,”E7”,1250)

在订购单中插入一条记录:职工号、供应商号、订购单号、订购日期的值分别是"E3"、"S7"、"D67" 、{^2010/06/23}

INSERT INTO 订购单表(职工号, 供应商号, 订购单号, 订购日期)

V ALUES("E3", "S7", "D67", {^2010/06/23})

三、删除

USE 表

DELE 【范围】for [条件] WHERE [条件]

PACK

SQL:

删除订购单表中职工号是"E6" 并且订购日期为空

DELE FROM 订购单表WHERE 职工号="E6" AND 订购日期={}

删除仓库表中面积为400的记录

dele from 仓库表WHERE 面积=400

四、修改更新

Change

Edit

Replace 【范围】for 【条件】字段with 表达式

Sql:

UPDA TE student SET 成绩=成绩+10 where 民族=“藏族”

UPDA TE student SET 成绩=100 where 学历=“研究生”

UPDA TE 仓库表SET 仓库号="WH1" WHERE 城市="北京"

update 职工表SET 工资=工资+500 WHERE(职工号="E1" or 职工号="E4" )五、查询

Loca

Find

Seek

Sql:

Select 显示的字段from 表名where 条件

(list fields 职工号,工资for 工资>=1250)

a.显示工资>=1250的记录

sele * from 职工表where 工资>=1250

显示工资在1220至1250的记录

sele 职工号,工资from 职工表where 工资between 1220 and 1250

sele 职工号,工资from 职工表where 工资>1220 and 工资<1250

use职工表

loca all for 工资>1220 and 工资<1250

工资大于WH3所有职工工资的仓库号

b.哪些仓库有工资大于1230的职工

Sele * form 仓库表where 面积>400

c.列出在WH1或WH2仓库工作且工资<1250职工。

Sele 职工号from 职工表where 工资<1250 and (仓库号=”WH1”or 仓库号=”WH2”)d. 找出工资大于1230的职工号和所在城市。

Sele 职工号,城市from 职工表,仓库表where 工资>1230 and (职工表.仓库号= 仓库表.仓库号)

f.哪些城市至少有一个仓库的职工工资是1250?

Sele 城市from 仓库表where 仓库号in【wh2 ,wh1】

(sele 仓库号from 职工表where 工资=1250 )

和上面相反的语句

Sele 城市from 仓库表where 仓库号not in (sele 仓库号from 职工表where 工资=1250 )

g. 查找和E4工资一样的所有人员。

Sele 职工号from 职工表where 工资=(Sele 工资from 职工表where 职工号=”E4”)

H,查找E1的所有订单号

Sele 订购单号From 订购单表where 职工号=”E1”

I,显示工资排序(order by用法)

Sele 职工号,工资from 职工表order by 工资,仓库号

J,列出S开头的供应商号(like用法)

Sele 供应商号From 订购单表where 供应商号like ”S%”

K,统计人员(统计函数count用法)

Sele count(职工号) from 职工表

L求工资总额(求和函数sum用法)

Sele SUM(工资) from 职工表

M,求平均工资(求平均函数A VE用法)

Sele avg(工资) from 职工表

求各仓库职工平均工资

Sele 仓库号,avg(工资) from 职工表

O, 求各仓库至少有两名以上职工的平均工资(分组group by、having用法)

Sele 仓库号,avg(工资) from 职工表group by 仓库号having count(仓库号)>=2

或Sele 仓库号,avg(工资) from 职工表group by 仓库号having count(*)>=2

P、参数ALL、ANY、SOME、JOIN用法

sele 仓库号from 职工表where 工资>ALL(sele 工资from 职工表where 仓库号="WH3")

显示两个表的所有信息(仓库号,城市,面积,职工号,工资)

等效命令(join)联接

Sele职工表.仓库号,城市,面积,职工号,工资from 仓库表left join职工表on 仓库表.仓库号=职工表.仓库号

(left join)联接\ (rigt join)联接\ (full join)

Q、输出改向

永久表文件:Sele * from 户籍表where 姓名like “王%”into table guo

临时表文件:Sele * from 户籍表where 姓名like “王%”into cursor guo

文本文件:Sele * from 职工表where 职工号like "E%" TO file guo2

打印机:Sele * from 职工表where 职工号like "E%" TO printer

存到数组: Sele * from 职工表where 职工号like "E%" into array abc

显示前5条记录:Sele * top 5 from 职工表order by 姓名

Sele 城市,工资from 仓库表join 职工表on 仓库表.仓库号=职工表.仓库号

第五章程序设计基础

一、分支

1、If <条件>

语句

Endif

If 性别=“男”

?“男性”

Endif

If 性别=“女”

?“女性”

Endif

2、If <条件>

语句

Else

语句

Endif

If 性别=“男”

?“男性”

else

?“女性”

Endif

3、do case

Case 条件1

语句1

Case 条件2

语句2

Case 条件3

语句3

[other wise ]

Enddo

上午:6~12;中午:12~14;下午:14~18;晚上:18~6

If t>=6 and t<12

? ”上午”

Endif

If t>=12 and T<14

?”中午”

Endif

If t>=14 and T<18

?”下午”

Endif

If t>=18 and T<6

?”晚上”

Endif

以键盘输入数字显示时间段(CASE)

DO CASE

CASE t>=6 and t<12

? ”上午”

CASE t>=12 and T<14

?”中午”

CASE t>=14 and T<18

?”下午”

CASE t>=18 and T<6

?”晚上”

OTHER WISE

“SORRY!”

EndCASE

二循环语句(for)

For 变量=初值to 终值【step 步长】

语句

Endfor

1、显示、输出55个good moring!

For x=1 to 55 step 1

?x

?"good moring!"

Endfor

2、查询职工信息

FOR I=1 TO 3

ACCEPT "职工?" to x

use 职工表

loca for 职工号=x

DISP

USE

ENDFOR

3.输出1加到10的结果

S=0

For i=1 to 10

S=s+i

endfor

4、通过键盘输入控制循环次数

input "cs:" to md

S=0

FOR I=1 TO md

S=S+I

ENDFOR

?S

二循环语句(do while)

do while 条件

语句

[loop] 跳到循环头

[exit] 退出循环

Enddo

1、输出1加到10的结果

S=0

i=1

do while i<= 10

S=s+i

I=i+1

enddo

?s

**************

S=0

For i=1 to 10

S=s+i

endfor

2、输出1到10之间的偶数

x=1

do while x<=15

if mod(x,2)=0

??x

Endif

x=x+1

Enddo

************************************* for x=1 to 15

if mod(x,2)<>0

??x

Endif

Endfor

3、交互查询信息

do while .t.

acce "zgh:" to x

sele * from 职工表where 职工号=X

acce "CONTINUE?" to C

if C="N"

exit

endif

enddo

?"BYE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" *******************

do while .t.

acce "zgh:" to x

USE 职工表

LOCA FOR 职工号=X

IF FOUND()

DISP

ELSE

?"SORRY!NOT FOUND!!!"

ENDIF

USE

acce "CONTINUE?" to C

if UPPER(C)="N"

exit

endif

enddo

?"BYE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"

使用messagebox函数输出

do while .t.

USE 职工表

LOCA FOR 职工号=ALLTRIM(thisform.text1.value)

IF FOUND()

DISP

ELSE

MESSAGEBOX("SORRY!NOT FOUND!!!",0) ENDIF

USE

C=MESSAGEBOX("CONTINUE?" ,4)

if C =7

exit

endif

enddo

MESSAGEBOX("BYE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")

第六章函数

一、数值型函数

1.绝对值函数

【函数格式】?abs(《数值表达式》)

【函数功能】返回指定“数值表达式”的绝对值

【返回值类型】数值型

?abs(-100)

100

2.平方根函数

【函数格式】?sqrt(《数值表达式》)

【函数功能】返回指定“数值表达式”值的平方根。“数值表达式”的值必须是大于或等于零

【返回值类型】数值型

?sqrt(36)

6

?sqrt(81)

9

?sqrt(6^2-2^3*4)

2

注:6^2相当于6×6,计算机书写6*6

3.取整函数

【函数格式】?int(《数值表达式》)

【函数功能】返回指定“数值表达式”整数部分的值

【返回值类型】数值型

?int(21.3)

21

?int(89.65)

89

123

4.四舍五入函数

【函数格式】?round(《数值表达式1》,《数值表达式2》)

【函数功能】对指定的《数值表达式1》进行四舍五入运算

【使用说明】《数值表达式2》指定四舍五入运算精确的位数。如果“数值表达式2”是正整数,它指定保留的小数位数;如果“数值表达式2”是0,它指定精确到个位;如果“数值表达式2”是负整数,它指定精确的整数位数

【返回值类型】数值型

?round(678.657,0) 679

?round(678.657,3) 678.657

?round(678.657,-1) 680

5.求余函数

【函数格式】?mod(《数值表达式1》,《数值表达式2》)

【函数功能】求《数值表达式1》除以《数值表达式2》后的模

【使用说明】若两参数的值大于0,则模为余数;若两参数一正一负,则模为余数与“数值表达式2”之和;若两参数均为负,则模为余数取反。遵循的原则:一、模的符号与表达式2的相同;二、余数的绝对值小于除数(《表达式2》)的绝对值

【返回值类型】数值型

?mod(100,3)

1

?mod(100,-3)

-2

?mod(16,2)

6. e次方函数

【函数格式】?exp(《数值表达式》)

【函数功能】返回ex的值(x为《数值表达式》)

【返回值类型】数值型

?exp(1)

2.72

7.最大值函数

【函数格式】?max(《表达式1》,《表达式2》…)

【函数功能】返回各个表达式中的最大值。其中各个表达式的数据类型相同【返回值类型】字符型、数值型、日期型,由表达式决定

?max(12,5,8,36)

36

?max(”a”,”b”,”d”,”Y”,”y”)

y

8.最小值函数

【函数格式】?min(《表达式1》,《表达式2》…)

【函数功能】返回各个表达式中的最小值。其中各个表达式的数据类型相同【返回值类型】字符型、数值型、日期型,由表达式决定

?min(12,5,8,36)

5

?min(”a”,”b”,”5”,”Y”,”y”)

5

9.对数函数

【函数格式】?log(《数值表达式》)

【函数功能】返回以e为底的自然对数值

【返回值类型】数值型

?log(2.72)

1

10. 圆周率函数

【函数格式】?pi(《表达式》)

【函数功能】求表达式的圆周率

【返回值类型】数值型

?pi()

3.14

二、字符型函数

11.字符串长度测试函数

【函数格式】?len(《字符表达式》)

【函数功能】返回字符型表达式的长度(字节数)【返回值类型】数值型

?len(”good moring!”)

12

?len(”abc123”)

6

?len("青海!")

5

12.小写字母转换大写函数

【函数格式】?upper(《字符表达式》)

【函数功能】把字符表达式中的小写字母转换为大写字母

【返回值类型】字符型

?upper(”good”)

GOOD

?upper("GOOD moring !")

GOOD MORING!

?upper("青海!")

青海!

13. 大写字母转换小写函数

【函数格式】?lower(《字符表达式》)

【函数功能】把字符表达式中的大写字母转换为小写字母

【返回值类型】字符型

?lower(“GOOD”)

good

?lower ("GOOD moring !")

good moring !

14.生成空格字符串函数

【函数格式】?space(《数字》)

【函数功能】返回一个全是空格的字符串,空格数由《数字》决定【返回值类型】字符型

?“青海”+space(2)+“西宁”

青海西宁

?space(3)

□□□

15.删除尾空格函数

【函数格式】?rtrim(《字符表达式》)或?trim(《字符表达式》)【函数功能】删除指定字符串右边的尾随空格

【返回值类型】字符型

?trim(" abc d e ") *或用Rtrim滤掉尾部口空格

abc d e

?trim(" abc d e ")+"!"

abc d e!

16.删除前空格函数

【函数格式】?ltrim(《字符表达式》)

【函数功能】删除指定字符串左边的空格

【返回值类型】字符型

?ltrim(" abc d e ")+"!"

abc d e !

17.删除所有空格函数

【函数格式】?alltrim(《字符表达式》)

【函数功能】删除指定字符串左右两边的空格

【返回值类型】字符型

?alltrim(”□□□abc□□□”)

abc

18.子字符串函数

【函数格式】?substr(《字符表达式》,《起始位置》,《字符个数》)【函数功能】从指定的字符串中截取字符,形成一个新的字符串

【使用说明】《起始位置》是数值型表达式,它指定从第几个字符开始截取,[《字符个数》]也是数值型表达式,它指定连续截取字符的个数。如果省略“字符个数”,则截取到最后一个字符为止。

【返回值类型】字符型

J="青海大通"

?substr(j,5,4)

大通

19.左子串函数

【函数格式】?left(《字符表达式》),《字符个数》)

【函数功能】从指定是字符串左边第一个字符开始截取字符,形成一个新的字符串【使用说明】《字符个数》是数值型表达式,它指定连续截取字符的个数

【返回值类型】字符型

J="青海大通"

? left (j,4)

青海

20. 右子串函数

【函数格式】?right(《字符表达式》),《字符个数》)

【函数功能】从指定是字符串右边第一个字符开始截取字符,形成一个新的字符串【返回值类型】《字符个数》是数值型表达式,它指定连续截取字符的个数

字符型

J="青海大通"

? right (j,4)

大通

21.字符串1在字符串2出现的次数

【函数格式】?occurs(《字符表达式1》,《字符表达式2》)

【函数功能】返回字符表达式1在字符表达式2中出现的次数

【返回值类型】数值型

?occurs(”A”,”ABCDABCD”)

2

?occurs(”A”,”abcdabcda”)

22.求位置函数

【函数格式】?at(《字符表达式1》,《字符表达式1》,《数值表达式》)

或?atc(《字符表达式1》,《字符表达式1》,《数值表达式》)

【函数功能】返回《字符表达式1》在《字符表达式2》从左边数第《数值表达式》次数出现的位置

【使用说明】 at区分大小写,而atc不区分大小写

【返回值类型】数值型

?at(”a”,”bacda”)

2

?at(”a”,”bacdaaabdea”,5)

11

?at(”A”,”abcdaaa”) 0

?atc(”A”,”BACDAAABDEa”,5)

11

23.求位置函数

【函数格式】?rat(《字符表达式1》,《字符表达式2》,《数值表达式》)

【函数功能】返回《字符表达式1》在《字符表达式2》从右边数第《数值表达式》次数出现的位置

【返回值类型】数值型

?rat(”a”,”bacda”)

5

?rat(”a”,”bacdaaabdea”,5) 2

?rat(”A”,”abcdaaa”) 0

24.替换函数

【函数格式】?stuff(《字符表达式1》,《数值表达式1》,《数值表达式2》,《字符表达式2》)

【函数功能】从指定的字符串中截取字符,形成一个新的字符串

【使用说明】截取《字符表达式1》中,从《数值表达式1》开始,《字符表达式2》替换《数值表达式2》位数,形成新的字符串。

【返回值类型】字符型

?stuff(”计算机ABC”,3,4,”你好”)

计你好ABC

?stuff(”数据库”,5,6,”管理系统”)

数据管理系统

?stuff(”计算机ABC”,5,4,”你好”)

计算你好C

25.替换函数

【函数格式】?chrtran(《字符表达式1》,《字符表达式2》,《字符表达式3》)

【函数功能】用《字符表达式3》替换《字符表达式1》中与《字符表达式2》相同的字符串,并形成一个新的字符串

【返回值类型】字符型

?chrtran(”计算机ABCD”,”ABCD”,”你好”)

计算机你好

26.匹配函数

创建数据库和数据表

创建数据库和数据表 教学内容分析 本节课是高中信息技术(选修4)《数据管理技术》第二章“创建数据库的结构”里2.3.1“创建数据库”与2.3.2“创建数据表”的内容。具体内容是介绍了在Access中创建数据库的结构的步骤,并通过动手实践,学习和尝试创建一个空的“中小学信息技术大赛”数据库,在数据库中创建三个表:参赛选手表、参赛学校表、参赛作品表。在案例学习及任务驱动中边做边学,以激发学生在课堂的学习兴趣,一步一步熟悉Access数据库管理系统软件以及在Access中建立数据库结构的常用方法。 教学对象分析 在前面的学习中,学生已经对“中小学信息技术大赛”比较熟悉,而且对已建立的关系数据模型有了一定的了解,知道利用二维表格可以表示现在最常用的关系数据模型。但是,学生对于计算机上数据库是什么样子、其结构如何,可能还知之甚少。 教学模式 本节内容实践操作较多,而且概念不难理解,以采用案例学习及任务驱动等方法进行教学。 教学目标 (1) 知识与技能 熟悉Access数据库管理系统软件。 掌握在Access中建立数据库结构的常用方法。 (2) 过程与方法 通过参与一个实际的数据库的建立过程,让学生经历和体验如何对数据进行管理的过程,感悟有关的思想与方法。 (3) 情感态度与价值观 通过新技术的应用学习、实践,激发和保持学生对信息技术的求知欲,形成积极主动学习的态度。培养学生合理的信息资源管理习惯。 教学重点、难点、疑点 (1)教学重点:以“中小学信息技术大赛”数据库为例,熟练掌握创建数据库结构的方法,理解数据表中字段类型、字段属性、主键的含义,从而完成三张数据表的创建。 (2)教学难点:熟练掌握创建数据库结构的方法,理解数据表中字段类型、字段属性的含义,从而完成三张数据表的创建。 (3)教学疑点:是否有比教材上的三张表的结构定义更好的结构描述。

数据库表结构设计参考

数据库表结构设计参考

表名外部单位表(DeptOut) 列名数据类型(精度范围)空/非空约束条件 外部单位ID 变长字符串(50) N 主键 类型变长字符串(50) N 单位名称变长字符串(255) N 单位简称变长字符串(50) 单位全称变长字符串(255) 交换类型变长字符串(50) N 交换、市机、直送、邮局单位邮编变长字符串(6) 单位标识(英文) 变长字符串(50) 排序号整型(4) 交换号变长字符串(50) 单位领导变长字符串(50) 单位电话变长字符串(50) 所属城市变长字符串(50) 单位地址变长字符串(255) 备注变长字符串(255) 补充说明该表记录数约3000条左右,一般不做修改。初始化记录。 表名外部单位子表(DeptOutSub) 列名数据类型(精度范围)空/非空约束条件 外部子单位ID 变长字符串(50) N 父ID 变长字符串(50) N 外键 单位名称变长字符串(255) N 单位编码变长字符串(50) 补充说明该表记录数一般很少 表名内部单位表(DeptIn) 列名数据类型(精度范围)空/非空约束条件 内部单位ID 变长字符串(50) N 主键 类型变长字符串(50) N 单位名称变长字符串(255) N 单位简称变长字符串(50) 单位全称变长字符串(255) 工作职责 排序号整型(4) 单位领导变长字符串(50) 单位电话(分机)变长字符串(50) 备注变长字符串(255)

补充说明该表记录数较小(100条以内),一般不做修改。维护一次后很少修改 表名内部单位子表(DeptInSub) 列名数据类型(精度范围)空/非空约束条件内部子单位ID 变长字符串(50) N 父ID 变长字符串(50) N 外键 单位名称变长字符串(255) N 单位编码变长字符串(50) 单位类型变长字符串(50) 领导、部门 排序号Int 补充说明该表记录数一般很少 表名省、直辖市表(Province) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 名称变长字符串(50) N 外键 投递号变长字符串(255) N 补充说明该表记录数固定 表名急件电话语音记录表(TelCall) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 发送部门变长字符串(50) N 接收部门变长字符串(50) N 拨打电话号码变长字符串(50) 拨打内容变长字符串(50) 呼叫次数Int 呼叫时间Datetime 补充说明该表对应功能不完善,最后考虑此表 表名摄像头图像记录表(ScreenShot) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 拍照时间Datetime N 取件人所属部门变长字符串(50) N 取件人用户名变长字符串(50) 取件人卡号变长字符串(50) 图片文件BLOB/Image

实验二、创建数据库及表、完整性约束

2.数据库设计 创建文件组,将分散储存的文件指定到同一文件组FILEGROUP下。将表的索引和表构建在同一个架构SCHEMA下,可以减小数据库表的大小,以提升表查询效率。 示例代码 sql> CREATE DATABASE 销售管理 ON PRIMARY ( NAME = SalesData, FILENAME = 'C:\DB\SalesData_1.mdf', SIZE = 50MB, MAXSIZE = UNLIMITED, FILEGROWTH = 20% ), ( NAME = SalesD, FILENAME = 'D:\DB\SalesData_2.ndf', SIZE = 50MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10 MB ) LOG ON ( NAME = SalesLog, FILENAME = 'D:\DB\SalesLog.ldf', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 10MB ) alter database 销售管理 add filegroup f1 alter database 销售管理 add file (NAME = SalesData,FILENAME = 'C:\DB\SalesData_1.mdf'), (NAME = SalesD,FILENAME = 'D:\DB\SalesData_2.ndf') to filegroup f1 CREATE SCHEMA Sales; GO; CREATE TABLE Sales.Region (Region_id int NOT NULL, Region_Name char(5) NOT NULL) WITH (DISTRIBUTION = REPLICATE); GO 3.为电话字段创建用户定义数据类型 sql>create type telephone from varchar(11) not null

实验二--通过SQL语句创建与管理数据表word版本

实验二 一、实验目的 (1)掌握查询分析器的使用。 (2)掌握通过SQL语句创建表的方法。 (3)掌握通过SQL语句修改表结构的方法。 (4)掌握通过SQL语句添加、修改、删除表数据的方法。 二、实验内容 1、通过SQL语句删除表 用SQL语句在数据库Student_info中删除实验一创建的Student表、Course表、SC表。 1、选择Student_info数据库,在该数据库环境中“新建查询”,然后完成删除操作 2、分别填写如下SQL语言 ①、drop table Student ②、drop table Course

③、drop table SC 3、删除操作完成 2、通过SQL语句创建表 用SQL语句在数据库Student_info中创建实验一中的Student表、Course表、SC表,结构如实验一中表2、表3、表4(即创建出空表即可)所示 ①、创建Student表 create table Student( Sno char(8)primary key, Sname varchar(8)not null, Sex char(2)not null, Birth smalldatetime not null, Classno char(3)not null, Entrance_date smalldatetime not null, Home_addr varchar(40) )

②、创建Course表 create table Course( Cno char(3)primary key, Cname varchar(20)not null, Total_perior smallint check(Total_perior>0), Credit tinyint check(Credit<=6 and credit>0) ) ③、创建SC表 create table SC( Sno char(8)not null, Cno char(3)not null, Grade tinyint check(Grade>=0 and Grade<=100), primary key(Sno,Cno), foreign key(Sno)references Student(Sno), foreign key(Cno)references Course(Cno) ) 3、通过SQL语句管理表结构 (1)添加和删除列 a. 给Student表增加身高(以米单位)Stature列,类型为numeric(4,2),允许为空

创建表与约束

1、数据的完整性:数据完整性是要求数据库中的数据具有准确性。准确性是通过数据库表的设计和约束来实现的。 A、实体完整性约束 实体完整性约束要求表中的每一行数据都反映不同的实体,不能在表中存在完全相同的数据行。 实现方法:索引、唯一约束、主键约束或标识列属性。 B、域完整性约束 域完整性约束是给定列的输入有效性。 实现方法:限制数据类型、检查约束、输入格式、外键约束、默认值、非空约束。 C、引用完整性 在输入或删除数据行时,引用完整性约束来保持表之间已经定义的关系。 在强制引用完整性时,SQL Server禁止用户进行下列操作: (1)当主表中没有关联的记录时,将记录添加到相关表中。 (2)更改主表中的值导致相关表中的记录孤立。 (3)从主表中删除记录,但仍存在与该记录匹配的相关记录。 实现方法:通过主键和外键之间的引用关系来实现。 D、自定义完整性约束

用户根据具体应用来定义特定的规则。如定义学生年龄必须在10到30之间。 实现方法:定义规则、存储过程或触发器 2、主键:一个表中只能有一个主键,主键保证了表中行的唯一性。一个表中可以没有主键,但一般会设置一个主键。 外键:外键是子表中对应的主键的列,外键强调了应用完整性。 3、检查约束也叫CHECK约束,用于定义列中可接受的数据或者格式,例如scores表中的score数值应当为0~100,如果不满足要求应当不允许输入。 方法:在设计scores表时,右击选择“CHECK约束”,在出现的对话框中单击“添加”按钮,添加一个新的约束。然后单击“表达式”右侧的小按钮,在弹出的“CHECK约束表达式”对话框中输入: 0<=score and score<=100 sno like ‘2009[1-9][1-9][1-9][1-9][1-9][1-9]’ SEmail LIKE ‘%@%’ Sage>=10 and Sage<=50 4、导入和导出数据:右击数据库,选择“任务”中的“导出数据”选项,在向导中选择数据库,单击“下一步”;输入文件名称并确定文件相关选项;选择是否用一条查询语

图书管理系统--创建数据库和表

1管理员表(L_Administrator) 字段名字段说明数据类型约束备注 a_id 管理员编号int Primary Key Identity(1000,1) a_name 管理员姓名nvarchar(20) Not null a_pwd 管理员密码varchar(20) Not Null */ use Library go create table L_Administrator( a_id int not null primary key Identity(1000,1), a_name nvarchar(20) not null, a_pwd varchar(20) not null); /* 2职务类型表(L_Duty) 字段名字段说明数据类型约束备注 d_id 职务编号int Primary Key Identity(1000,1) d_name 职务名称nvarchar(20) Not null d_maxcount 最大借阅数量tinyint Not Null */ use Library go create table L_Duty( d_id int not null primary key Identity(1000,1), d_name nvarchar(20) not null, d_maxcount tinyint not null); /* 3读者表(L_Reader) 字段名字段说明数据类型约束备注 r_id 读者编号bigint Primary Key r_name 读者姓名nvarchar(20) Not Null r_pwd 读者密码varchar(20) Not Null r_sex 读者性别bit Not Null r_typeid 职务类型int Foreign Key 职务类型表的主键 r_academy 所在院系nVarchar(20) r_major 专业nVarchar(20) r_contact 联系方式Varchar(20) r_email 邮箱nvarchar(20) r_photo 读者照片nVarchar(100) 存的是读者照片的路径*/ use Library

创建数据表

创建数据表 1.创建一个名为'teacher1f'的数据表create table teacher1f ( tno int identity(1,1), tname char(20), title char(6)default'讲师', major char(20), sdept char(30), tel char(30) ) 创建一个名为'teacher2f'的数据表create table teacher2f ( tno int, tname nchar(10), age int, sex nchar(10), title nchar(10), major nchar(10), sdept nchar(10) ) 创建一个名为'coursef'的数据表create table coursef ( cno nchar(10)not null, cname nchar(10), studyscore int, studytime int ) 创建一个名为'gradef'的数据表create table gradef ( cno nchar(20), tno char(20),

grade int ) 2.修改teacher1f的tno为位字符 alter table teacher1f alter column tno char(20) 3.插入'age'列 alter table teacher1f add age int 4.插入'sex'列 alter table teacher1f add sex char(30) 5.删除'Tel'列 alter table teacher1f drop column Tel 6.删除表teacher1f drop table teacher1f 7.创建表(复制信息) select* into boysf from teacher1f where sex='男' --把sex为'男'的教师信息筛选出来并放在boysf新表中 select* into teacher3f from teacher1f --把teacher1f中的学生信息放在teacher3f新表中(复制表)

实验一创建数据库及关系表数据完整性约束

实验一创建数据库及关系表、数据完整性约束 一、实验目的 1.???掌握SQL Server数据库管理系统的使用,能够在该环境中进行日常数据库操作; 2.???掌握在SQL Server中使用图形化工具创建数据库的方法; 3.掌握建立关系表的语句,掌握定义主码约束及外码约束的语句; 4.掌握修改表结构的语句。 5.掌握数据完整性约束的功能。 二、实验内容和步骤 1.创建符合如下条件的数据库: 数据库的名字为:Students 数据文件的逻辑文件名为:Students_dat,存放在用户盘某目录下; 文件的初始大小为:5MB;增长方式为自动增长,每次增加1MB。 实验结果: 2.在已建立的Students数据库中,确定出各表中的数据类型,写出创建满足下述条件的四张表的SQL 语句,并查看执行结果。 实验结果: 3.写出实现如下操作的SQL语句,并查看执行结果: (1)在选课表中添加一个新的修课类别列:列名为:选课类别,类型为char(4)。 (2)将课程表中的学分列的类型改为:tinyint(微整型,取值范围在0~255)。 (3)删除学生表的专业列。 (4)为教师表添加主码约束,其主码列为:教师号。 实验结果: 4.在Students数据库中,编写建立满足完整性要求的定义表的SQL语句,执行并观察执行结果。(1)图书表,结构如下: 书号:统一字符编码定长类型,长度为6,主码, 书名:统一字符编码可变长类型,长度为30,非空, 第一作者:普通编码定长字符类型,长度为10,非空, 出版日期:小日期时间型,小于等于当前系统日期,(用getdate()实现) 印刷数量:小整型,取值范围:1000~5000,默认为4000, 价格:定点小数,小数部分一位,整数部分3位。 实验结果: (2)书店表,结构如下: 书店编号:统一字符编码定长类型,长度为6,主码, 店名:统一字符编码可变长类型,长度为30,非空, 电话:普通编码定长字符类型,12位长,取值形式:010-8位数字 地址:普通编码可变长字符类型,40位长。前两个字符必须是:北京。 实验结果: (3)图书销售表,结构如下: 书号:统一字符编码定长类型,长度为6,非空, 书店编号:统一字符编码定长类型,长度为6,非空,

实验一创建数据库和表

实验一创建数据库和表 1、目的和要求 (1)了解SQL Server数据库的逻辑结构和物理结构。 (2)了解表的结构特点 (3)了解SQL Server的基本数据类型。 2、实验内容 (1)实验题目 ①创建一个新的数据库。创建用于企业管理的员工数据库,数据库名称为YGGL。 ②在创建好的数据库YGGL中创建数据表。考虑到数据库YGGL中包含员工的信息、部分信息以及员工的薪水信息,所以数据库YGGL应该包含三个表:Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 3、实验步骤 (1)在对象资源管理器中创建数据库YGGL。 (2)删除数据库YGGL。 ①界面操作删除数据库 删除数据库YGGL时,右键单击数据库,弹出菜单点击“删除”,弹出“删除对象”窗口,确认删除。 ② T-SQL语句删除数据库 在代码空白处右击鼠标,弹出菜单选择“执行(X)”或者键盘“F5”运行代码,在下方会显示运行成功。 此时在左侧“对象资管理器”中右键点击“数据库”选择刷新数据库,会发现数据库“PX”已经删除。 注意:当执行过一遍代码时,也就是执行了T-SQL语句删除数据库后再次执行代码会出现这样的警告。原因是由于执行过一遍T-SQL语句,进行操作的数据库已经被删除,不存在。 (3)使用T-SQL语句创建数据库YGGL。 新建查询后,在窗口中输入上面代码,右键代码空白处执行。然后在“对象资源管理器”中查看。如果“数据库”列表中并未列出YGGL数据库,则单击右键“数据库”,选择“刷新”选项,“数据库”列表中就会出现创建的YGGL数据库。 (4)在对象资源管理器中创建表。 ①创建表。Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 在对象资源管理器中选择创建的数据库“YGGL”,展开数据库YGGL,选择“表”,右键

实验四 数据库表的创建和管理

数据库实验实验四 计科二班 叶雨琪 20134650

实验四数据库表的创建和管理 一、目的与要求 1.掌握数据库表的两种创建方法; 2.掌握完整性约束的设置方法; 3.掌握导入导出数据的操作方法; 二、实验准备 1.了解完整性约束的概念,分类; 2.了解T-SQL创建、修改和删除表的语法格式; 3.了解数据导入导出。 三、实验内容 (一) 在对象资源管理器中创建数据库表 创建数据库studb,存储属性为默认,在studb数据库中建立数据表。结构如图4-1所示: 图4-1

需要定义的约束有: 1.主键和外键,依据图中标识建立按住Ctrl键鼠标选中要设为主键的两个表, 2.S表中在s_name上建立唯一键约束。选择sname右键索引/键添加类型选择唯一键列选择sname

3.C表中设置check约束为ccredit不能为负数 ccredit右键CHECK约束添加常规表达式写ccredit>=0

3.SC表中score默认值为0 选中score右键CHECK约束添加常规表达式写score=0 (二) 使用T-SQL语句修改表 1.在S表中增加新的列,列名sfzh,数据类型为varchar(18)。alter table dbo.S add sfzh varchar(18) 2.在C表中增加外键约束,外键是cpno,参考C表的cno列。alter table dbo.C add constraint cpno foreign key(cno) references dbo.C(cno) 3.在SC表中删除默认值约束。 alter table dbo.SC drop constraint CK_SC

数据库及数据库表的创建与管理

《数据库技术》上机实验 实验三数据库及数据库表的创建与管理 一、实验目的 熟悉和掌握数据库的创建和连接方法; 熟悉和掌握数据表的建立、修改和删除; 加深对表的实体完整性、参照完整性和用户自定义完整性的理解。 二、实验软件平台 Windows XP/7/8/10操作系统; 安装了SQL SERVER 三、实验内容 背景材料:在以下实验中,使用学生-课程数据库(school),它描述了学生的基本信息、课程的基本信息及学生选修课程的基本信息。(要求使用命令的方式创建) 1.创建学生-课程数据库create database school Sno:char(9) Sname: varchar(6) Ssex:char(2) Sage:tinyint Sdept:char(2) Sno为主键,姓名不能为空,性别只能取男或女,年龄大于等于0。 Cno为主键,课程名不能为空,先行课可以为空,学分大于等于0 Sno:char(9) Cno:varchar(3) grade: float 主键是课程号和学号思考?成绩可以为空么?为什么? 5.将以上创建表S、C、SC的SQL命令以.SQL文件的形式保存在磁盘上。[文件操作的方 式直接保存即可,这部分不用写在“四实验结果”中] 温馨提示:到这部分内容做完为止,可以用数据库的备份功能将所建好的数据库及数据库表完全备份下来,下周的实验课程会利用这个表结构。或者直接保存题5的SQL语句也可以,下次课直接执行这些sql文件,也可以达到保存的目的。 6.在表S上增加“出生日期”属性列。 7.删除表S的“年龄”属性列。 8.删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 9.修改C表,将学分的约束改为0到5之间 10.修改S表的性别的类型,设置为char(1),并将约束改为0和1

创建数据库和表

数学与信息技术学院实验报告 实验课程名称:SQL语言基础实验 实验项目名称:实验二创建数据库和表 专业班级: 学号: 姓名: 指导教师:

实验一创建数据库和表 【实验目的】 (1)了解MySQL数据库的存储引擎的分类; (2)了解表的结构特点; (3)了解MySQL的基本数据类型; (4)了解空值概念; (5)学会使用SQL界面工具中创建数据库和表; (6)学会使用SQL语句创建数据库和表。 【实验内容及步骤】 一,实验内容 实验题目 创建用于企业管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息及员工的薪水信息。数据库YGGL包含下列3个表: (1)Employees:员工信息表: (2)Departments:部门信息表: (3)Salary:员工薪水情况表。 二,实验步骤 1,使用命令行为方式创建数据库YGGL 打开MySQL Command Line Client,输入管理员密码登录,使用CREATE语句创建YGGL数据库: Creat database YGGL; 2,使用SQL语句在YGGL数据库中创建表Employees 执行创建表employees的SQL语句:

用同样的方法在数据库YGGL中创建表Salary。 创建一个结构与employees表结构相同的空表Employees(): Creat table Employees0LIKE Employees; 3,使用SQL语句删除表和数据库 删除表employees: Drop table employees; 删除数据库YGGL Drop database YGGL; 4 使用MySQL界面创建数据库YGGL和题目的3个表 连接上MySQL administrator,单机catalogs目录,在下方出现的数据库列表中右击选择“create new schema”,输入yggl完成创建。 创建表以departments为例,在MYAQLAdministrator中选择数据库YGGL,单机“create table”按钮,输入表名“Departments”,输入employees表各字段信息,单机“apply changes”按钮,在弹出的选项框中单击“execute”按钮

mysql创建表的实例附答案

在example数据库创建一个student表和一个grade表,表结构如下图所示Student表 数据类型主键外键非空唯一自增字段名字段描 述 Num学号Int(10)是否是是否Name姓名Varchar(20)否否是否否Sex性别Varchar(4)否否是否否Birthday出生日 Datetime否否否否否期 Varchar(50)否否否否否Address家庭住 址 Grade表 数据类型主键外键非空唯一自增字段名字段描 述 Id编号Int(10)是否是是是Course课程名Varchar(10)否否是否否S_num学号Int(10)否是是否否Grade成绩Varchar(4)否否否否否 1 将grade表的course字段的数据类型改为varchar(20) 2 将s_num字段的位置改到course字段的前面 3 将grade字段改名为score 4 删除grade表的外键约束 5 将grade表的存储引擎更改为MyISAM类型 6 将student表的address字段删除 7 在student表中增加名为phone的字段,数据类型为INT(10) 8 将grade表改名为gradeinfo 9 删除student表

Create database example; Use example; Crate table student(num int(10) not null unique primary key, Name varchar(20) not null, Sex varchar(4) not null, Birthday datetime, Address varchar(50) ); Create grade (id int(10) not null unique primary key auto_increment, Course varchar(10) not null, S_num int(10) not null, Grade varchar(4) Constraint grade_fk foreign key(s_num) reference student(num) ); Desc student; Show create table grade \G; Alter table grade modify course varchar(20); Alter table grade modify s_num int(10) after id; Alter table grade change grade score varchar(4); Alter table grade drop foreign key grade_fk; Alter table grade engine=myisam; Alter table student drop address;

数据库表格的创建

课后习题名称:学生选课管理系统(stuCourse) create database stuCourse; 1、创建名为stuCourse的数据库。 create database stuCourse; 2、向stuCourse数据库里创建三张表,表名分别为: stu(学生信息表)、sc(选课表)、teacher(教师信息表) 学生表(stu)结构 use stuCourse create table stu ( sno char(6) not null primary key, sname char(10) not null, sex char(2) null, age int null, dept char(20) null

) 选课表(sc)结构 create table sc ( sno char(6) not null primary key , score float not null, courseid char(8) not null ) 教师信息表(teacher)结构 create table teacher (

tno char(8) not null primary key, tname char(8) not null, prof char(10) , salary float , dept varchar(20) ) 3、向表stu中增加新的一列家庭住址address。 4、把表stu中的年龄age的数据类型改为tinyint。 5、利用insert语句向以上三个表插入数据。数据如下:表stu中的数据: 插入stu表中 insert into stu values ( '1001','宋江', '男', 25, '计算机系' ); insert into stu values ( '3002','张明', '男', 23, '生物系' );

数据库表结构设计参考

数据库表结构设计参考. )表名外部单位表(DeptOut 约束条件非空空数据类型(精度范围) /列名外部单位ID N 变长字符串(50) 主键 N 变长字符串类型 (50)

N 单位名称(255) 变长字符串 (50) 单位简称变长字符变长字符(255)单位全交换类交换、市机、直送、邮变长字符(50)N (6)单位邮变长字符 变长字符(50))单位标英整排序(4) (50)交换变长字符变长字符(50)单位领 变长字符单位电(50) 变长字符所属城(50) 变长字符(255)单位地 备(255) 变长字符 补充说300条左右,一般不做修改。初始化记录该表记录数 表外部单位子表DeptOutSu 数据类型(精度范围列非约束条 变长字符(50)外部子单IDN 外ID变长字符(50)N单位名N变长字符(255) 变长字符单位编(50) 该表记录数一般很补充说 表内部单位表DeptI

数据类型(精度范围非列约束条IDN(50)变长字符主内部单类N变长字符(50) (255)变长字符N单位名 (50)变长字符单位简 变长字符单位全(255) 工作职 排序整(4) 单位领导(50) 变长字符串 (50) 单位电话(分机)变长字符串 (255) 变长字符串备注. 条以内),一般不做修改。维护一次后很少修改补充说明该表记录数较小(100 内部单位子表(DeptInSub)表名 约束条件数据类型(精度范围)空列名/非空 (50) N 变长字符串内部子单位ID 变长字符串(50) 父ID N 外键 (255) 单位名称 N 变长字符变长字符(50)单位编领导、部变长字符(50)单位类 Int 排序 该表记录数一般很补充说 省、直辖市表Provinc表

实验一-创建数据库和表

实验一-创建数据库和表

实验一创建数据库和表 1、目的和要求 (1)了解SQL Server数据库的逻辑结构和物理结构。 (2)了解表的结构特点 (3)了解SQL Server的基本数据类型。 2、实验内容 (1)实验题目 ①创建一个新的数据库。创建用于企业管理的员工数据库,数据库名称为YGGL。 ②在创建好的数据库YGGL中创建数据表。考虑到数据库YGGL中包含员工的信息、部分信息以及员工的薪水信息,所以数据库YGGL应该包含三个表:Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 3、实验步骤 (1)在对象资源管理器中创建数据库YGGL。

(2)删除数据库YGGL。 ①界面操作删除数据库 删除数据库YGGL时,右键单击数据库,弹出菜单点击“删除”,弹出“删除对象”窗口,确认删除。 ②T-SQL语句删除数据库

在代码空白处右击鼠标,弹出菜单选择“执行(X)”或者键盘“F5”运行代码,在下方会显示运行成功。 此时在左侧“对象资管理器”中右键点击“数据库”选择刷新数据库,会发现数据库“PX”已经删除。 注意:当执行过一遍代码时,也就是执行了T-SQL语句删除数据库后再次执行代码会出现这样的警告。原因是由于执行过一遍T-SQL语句,进行操作的数据库已经被删除,不存在。 (3)使用T-SQL语句创建数据库YGGL。

新建查询后,在窗口中输入上面代码,右键代码空白处执行。然后在“对象资源管理器”中查看。如果“数据库”列表中并未列出YGGL数据库,则单击右键“数据库”,选择“刷新”选项,“数据库”列表中就会出现创建的YGGL数据库。 (4)在对象资源管理器中创建表。 ①创建表。Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 在对象资源管理器中选择创建的数据库“YGGL”,展开数据库YGGL,选择“表”,右键单击“表”在弹出的菜单中选择“新建表”。将表保存并命名为“Employees”。下面是相同方法创建的Employees(员工自然信息)表、

实验六 数据表的创建和管理(sql)

实验六: 数据表的创建和管理 实验目的 熟练掌握SQL Server Management Studio的使用和使用T-SQL语句创建和删除数据表、修改表结构,更新数据。学会使用SQL Server查询分析器接收T-SQL语句并进行结果分析。实验内容 分别使用SQL Server Management Studio和T-SQL语句创建和删除数据表、修改表结构,更新数据。 实验步骤: 创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。数据库XSGL包含下列3个表: (l)student:学生基本信息。 (2)course:课程信息表。 (3)sc:学生选课表。 各表的结构分别如表1、表2和表3所示。 表3 学生选课表:sc 一. 数据库的建立: 1.用可视化界面建立: (a)在SQL SERVER2005中用Management Studio-新建数据库; 2.命令方式建立:

(a)在SQL SERVER2005中,在新建查询中使用T-SQL语句:(在做如下操作前,请将第一实验建立的XSGL数据库删除) 二. 表的建立: 1.用可视化界面建立: 在SQL SERVER2005中用Management Studio—数据库—XSGL—表—右键—新建表; 2.命令方式建立: 在SQL SERVER2005 中的”新建查询”编辑窗口中用下列SQL语句: 三. 表数据的添加: 1. 用可视化方法: I: 在SQL SERVER2005中用Management Studio—数据库—XSGL—表-表名—右键-打开表-返回所有行;

输入下列数据: 2. 在SQL SERVER2005”新建查询” 的编辑窗口中使用下列SQL 语句插入数据:

pdm生成数据库表结构

pdm生成数据库设计表结构 本文以Oracle为例: 一、pdm设计 1、pdm表设计 PowerDesigner不仅能自如的绘制UML模型图,更重要的是可以进行物理数据模型的设计,通俗的讲就是数据库的设计。 物理数据模型(Physical Data Model)简称PDM,提供了系统初始设计所需要的基础元素,以及相关元素之间的关系;数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据库的存储过程、操作、触发、视图和索引表等。 PowerDesigner能够用于创建多种不同类型的DBMS(数据库管理系统),每种类型的DBMS都包含一个标准定义的文件用于在PD和DBMS中确定彼此的关联而提供一套接口; 创建不同的DBMS可以生成不同的数据库脚本;日常开发中,一般用PDM图生成.sql脚本,然后通过查询分析器(或其它数据库可视化管理软件)生成数据库表以及视图。 接下来,概要的了解PDM的主要功能: 首先,它可以将数据库的物理设计结果从一种数据库移植到另一种数据库;其次,它可以通过反向工程将已经存在的数据库物理结构重新生成物理模型或概念模型;此外,还可以定制生成标准的模型报告;当然,它也可以转换为OOM;主要的,它能完成多种数据库的详细物理设计(涵盖常用的各种数据库的DBMS),并生成数据库对象的.sql脚本。 一般来说,创建PDM有如下三种方式: ?直接创建新的PDM; ?使用模板创建新的PDM; ?通过现有基础创建新的PDM。 打开PowerDesigner,新建,即创建新的PDM(DBMS使用为Mysql)。

设置一下适应个人的PDM显示参数。

第4章 数据表的创建和管理

第4章数据表的创建和管理——例题解答 例4-2-1:在数据库STUDENT中创建一个学生基本信息表(名为t_student),表中各列的要求如表4-2-1所示。 表4-2-1 学生基本信息表(名为t_student)组成 实现的步骤如下: (1)在SQL Server Management Studio中新建一个查询页面。 (2)输入以下程序段并执行此查询: USE STUDENT GO CREATE TABLE t_student ( s_number char(10) not null, s_name char(8), sex char(2) default '男' , birthday datetime, polity char(4) ) GO 如果系统的输出结果为:“命令已成功完成。”,则表明t_student数据表已经创建成功了。 例4-3-1:为t_student2表中的s_number字段创建非空约束。 程序清单如下: USE STUDENT GO CREATE TABLE t_student2( s_number char(10) NOT NULL, s_name char(8), sex char(2), phonenum int

) 例4-3-2:在数据库STUDENT中创建一个t_student3表,并定义s_number为主键。增加主键后,就限定了该记录中不能插入编号相同的两个或者多个数据信息,从而保证了表中的记录信息是唯一的。 程序清单如下: USE STUDENT GO CREATE TABLE t_student3( s_number char(10) PRIMARY KEY, s_name char(8), sex char(2), birthday datetime, polity char(4) ) 例4-3-3:创建一个学生信息表t_student4,其中s_name字段具有唯一性。 程序清单如下: USE STUDENT GO CREATE TABLE t_student4 ( s_number char(10) PRIMARY KEY, s_name char(8), sex char(2) , birthday datetime, polity char(4), constraint uk_name unique(s_name) ) 例4-3-4:创建一个学生信息表t_student5,其中输入性别字段值时,只能接受“男”或者“女”,而不能接受其他数据。 程序清单如下: USE STUDENT GO CREATE TABLE t_student5( s_number char(10), s_name char(8), sex char(2), phonenum int, CONSTRAINT chk_sex CHECK(sex in ('男','女'))

数据库原理实验一数据库和表的创建与管理

一.实验内容、步骤以及结果 1.利用图形用户界面创建,备份,删除和还原数据库和数据表 (1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长, 增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB, 按1MB增长。数据库的逻辑文件名和物理文件名均采用默认值。 (2)在SPJ数据库中创建如图2.1-图2.4的四张表 (3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。(提 示:最好先删除系统默认的备份文件名,然后添加自己指定的备份文件 名) (4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展 名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。 (5)删除已经创建的工程项目表(J表)。 (6)删除SPJ数据库。(可以在系统默认的数据存储文件夹下查看此时SPJ 数据库对应的mdf,ldf文件是否存在) (7)利用备份过的bak备份文件还原刚才删除的SPJ数据库。(还原数据库) (8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。(附加) (9)将SPJ数据库的文件大小修改为100MB。 (10) 修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。 2. 利用SQL语言创建和删除数据库和数据表 (1) 用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文件名,日志文件名请自定义。 (2) 用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。不用输入数据。 (3) 用SQL中的backup 语句将数据库Student备份到一个bak文件。(提示:backup database student to disk) --备份: BACKUP DATABASE "student"TO DISK ='C:\lzcDB1\mybak1015.bak' (4) 用SQL语句删除创建的表。 drop table S drop table C drop table SC

相关文档
相关文档 最新文档