
自测题(二) (I)创建一个数据库Trade CREATEDATABASETrade ONPRIMARY (NAME=Trade1_dat, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\Tradeldat.mdf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=15%), FILEGROUPTradeGroup1 (NAME=Trade2 dat, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\Trade2dat.ndf', SIZE=10MB, MAXSIZE=100MB. FILEGROWTH=5MB) LOGON (NAME=Trade_1og, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\Tradelog.1df', SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB) (2) USETrade EXECsp_addtypemember_id,smallint,NOTNULL' EXECsp_addtypemember_name,'nvarchar (30)','NOTNULL' EXECsp_addtypeaddress,'nvarchar(60)',NOTNULL' EXECsp addtypephonenumber,'varchar(24)',NOTNULL' EXECsp_addtypemobilenumber,int,'NULL' (3)在数据库Trade中创建表
自测题(二) ⑴创建一个数据库 Trade CREATEDATABASETrade ONPRIMARY (NAME=Trade1_dat, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\Trade1dat.mdf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=15%), FILEGROUPTradeGroup1 (NAME=Trade2_dat, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\Trade2dat.ndf', SIZE=10MB, MAXSIZE=100MB, FILEGROWTH=5MB) LOGON (NAME=Trade_log, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\Tradelog.ldf', SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB) ⑵ USETrade EXECsp_addtypemember_id,smallint,'NOTNULL' EXECsp_addtypemember_name,'nvarchar(30)','NOTNULL' EXECsp_addtypeaddress,'nvarchar(60)','NOTNULL' EXECsp_addtypephonenumber,'varchar(24)','NOTNULL' EXECsp_addtypemobilenumber,int,'NULL' ⑶在数据库 Trade 中创建表

USETrade CREATETABLEMembers (MemberNomember id, Namemember name, HomePhonephonenumber, CellularPhonemobilenumber, Pagermobilenumber, Addressaddress, PhotoimageNOTNULL, NotesntextNOTNULL ) TEXTIMAGE ONTradeGroup1 (4④) USETrade DROPTABLEMembers (⑤)创建一个数据库“费用” CREATEDATABASE费用 ONPRIMARY (NAME=费用1data, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data 1_data.mdf', SIZE=5MB, MAXSIZE=20MB, FILEGROWTH=2MB). (NAME=费用2data, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\2_data.ndf', SIZE=10MB, MAXSIZE=100MB. FILEGROWTH=20%) LOGON (NAME=费用_1og
USETrade CREATETABLEMembers (MemberNomember_id, Namemember_name, HomePhonephonenumber, CellularPhonemobilenumber, Pagermobilenumber, Addressaddress, PhotoimageNOTNULL, NotesntextNOTNULL ) TEXTIMAGE_ONTradeGroup1 ⑷ USETrade DROPTABLEMembers ⑸创建一个数据库“费用” CREATEDATABASE 费用 ONPRIMARY (NAME=费用 1_data, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\费用 l_data.mdf', SIZE=5MB, MAXSIZE=20MB, FILEGROWTH=2MB), (NAME=费用 2_data, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\费用 2_data.ndf', SIZE=10MB, MAXSIZE=100MB, FILEGROWTH=20%) LOGON (NAME=费用_log

FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\_log.1df', SIZE=5MB, MAXSIZE-25MB. FILEGROWTH=5MB) (6)在数据库“费用”中创建表 USE费用 CREATETABLE员工 ( 员工识别码intIDENTITY(1,I)NOTNULL, 部门名称nvarchar(20)NULL, 身份证号码nchar(1O)NOTNULL, 员工编号nchar(10)NOTNULL, 名字nvarchar(2o)NULL, 姓氏nvarchar(2O)NULL, 职称nvarchar(20)NULL, 电子邮件帐号nvarchar(3O)NULL, 办公室电话nvarchar(2O)NOTNULL, 分机nvarchar(4)NULL, 住家电话nvarchar(2O)NULL, 国家nvarchar(3O)NULL, 邮政编码nvarchar(2O)NULL, 地址nvarchar(60)NULL, 出生日期datet imeNULL, 雇用日期datet imeNULL, 附注ntextNULL ONFeeGroupTEXTIMAGE_ONFeeGroup CREATETABLE费用报表 费用报表编号intIDENTITY(1,1)NOTNULL
FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\费用_log.ldf', SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB) ⑹在数据库“费用”中创建表 USE 费用 CREATETABLE 员工 ( 员工识别码 intIDENTITY(1,1)NOTNULL, 部门名称 nvarchar(20)NULL, 身份证号码 nchar(10)NOTNULL, 员工编号 nchar(10)NOTNULL, 名字 nvarchar(20)NULL, 姓氏 nvarchar(20)NULL, 职称 nvarchar(20)NULL, 电子邮件帐号 nvarchar(30)NULL, 办公室电话 nvarchar(20)NOTNULL, 分机 nvarchar(4)NULL, 住家电话 nvarchar(20)NULL, 国家 nvarchar(30)NULL, 邮政编码 nvarchar(20)NULL, 地址 nvarchar(60)NULL, 出生日期 datetimeNULL, 雇用日期 datetimeNULL, 附注 ntextNULL ) ONFeeGroupTEXTIMAGE_ONFeeGroup CREATETABLE 费用报表 ( 费用报表编号 intIDENTITY(1,1)NOTNULL

员工识别码intNOTNULL, 费用类型nvarchar(5O)NULL, 费用报表名称nvarchar(3O)NULL, 费用报表说明ntextNULL, 提出日期datet imeNULL, 预支金额moneyNULL, 都门支出nvarchar(30)NULL, 商业用途ntextNULL, 己支付bitNOTNULL ONFeeGroupTEXTIMAGE_ONFeeGroup CREATETABLE费用详细数据 费用细部编号intIDENTITY(L,1)NOTNULL, 费用报表编号intNOTNULL, 费用类别编号intNULL, 费用顼目总额moneyNULL, 费用项目说明nvarchar(50)NULL, 费用田期datet imeNULL ONFeeGroup CREATETABLE费用类别 ( 费用类别编号intIDENTITY(1,1)NOTNULL, 费用类别nvarchar(50)NULL, 费用类别科目intNULL ONFeeGroup (7)为各个表创建主键,UNIQUE约束,默认值,CHECK,约束与FOREIGNKEY约束 USE费用
员工识别码 intNOTNULL, 费用类型 nvarchar(50)NULL, 费用报表名称 nvarchar(30)NULL, 费用报表说明 ntextNULL, 提出日期 datetimeNULL, 预支金额 moneyNULL, 都门支出 nvarchar(30)NULL, 商业用途 ntextNULL, 已支付 bitNOTNULL ) ONFeeGroupTEXTIMAGE_ONFeeGroup CREATETABLE 费用详细数据 ( 费用细部编号 intIDENTITY(1,1)NOTNULL, 费用报表编号 intNOTNULL, 费用类别编号 intNULL, 费用顼目总额 moneyNULL, 费用项目说明 nvarchar(50)NULL, 费用田期 datetimeNULL ) ONFeeGroup CREATETABLE 费用类别 ( 费用类别编号 intIDENTITY(1,1)NOTNULL, 费用类别 nvarchar(50)NULL, 费用类别科目 intNULL ) ONFeeGroup ⑺为各个表创建主键,UNIQUE 约束,默认值,CHECK,约束与 FOREIGNKEY 约束 USE 费用

ALTERTABLE员工 ADD DEFAULT'youmame(@TeohnicalStudio..com.tw'FOR电子邮件帐号, DEFAULT'(02)2704-0010'F0R办公室电话, DEFAULT'中华人民共和国'FOR国家, DEFAULTgetdate(OFOR出生日期, DEFAULTgetdate(OFOR雇用日期, DEFAULT'章立民工作室'FOR附注, CONSTRAINTPK员工 PRIMARYKEYCLUSTERED(员工识别码)ONFeeGroup, CONSTRAINTUQ_身份证号码UNIQUENONCLUSTERED(身份证号码)ONFeeGroup, CONSTRAINTUQ员工识别码 UNIQUENONCLUSTERED(员工识别码)ONFeeGroup, CONSTRAINTUQ_.电子邮件帐号 UNIQUENONCLUSTERED(电子邮件帐号)ONFeeGroup,. CONSTRAINTCK出生日期员工 CHECK(datediff(year,出生日期,getdate())>l8), CONSTRAINTCK雇用日期_员工 CHECK(雇用日期)>='1999/07/01') ALTERTABLEPK费用报表 ADD CONSTRAINTPK费用报表 PRIMARYKEYCLUSTERED(费用报表编号)ONFeeGmup ALTERTABLE费用详细数据 ADD CONSTRAINTPK费用详细数据 PRIMARYKEYCLUSTERED(费用细部编号)ONFeeGroup ALTERTABLE费用类别 ADD CONSTRAINTPK费用类别
ALTERTABLE 员工 ADD DEFAULT'youmame@TeohnicalStudio.com.tw'FOR 电子邮件帐号, DEFAULT'(02)2704-0010'FOR 办公室电话, DEFAULT'中华人民共和国'FOR 国家, DEFAULTgetdate()FOR 出生日期, DEFAULTgetdate()FOR 雇用日期, DEFAULT'章立民工作室'FOR 附注, CONSTRAINTPK_员工 PRIMARYKEYCLUSTERED(员工识别码)ONFeeGroup, CONSTRAINTUQ_身份证号码 UNIQUENONCLUSTERED(身份证号码)ONFeeGroup, CONSTRAINTUQ_员工识别码 UNIQUENONCLUSTERED(员工识别码)ONFeeGroup, CONSTRAINTUQ_电子邮件帐号 UNIQUENONCLUSTERED(电子邮件帐号)ONFeeGroup, CONSTRAINTCK_出生日期_员工 CHECK(datediff(year,出生日期,getdate())>18), CONSTRAINTCK_雇用日期_员工 CHECK((雇用日期)>='1999/07/01') ALTERTABLEPK_费用报表 ADD CONSTRAINTPK_费用报表 PRIMARYKEYCLUSTERED(费用报表编号)ONFeeGmup ALTERTABLE 费用详细数据 ADD CONSTRAINTPK_费用详细数据 PRIMARYKEYCLUSTERED(费用细部编号)ONFeeGroup ALTERTABLE 费用类别 ADD CONSTRAINTPK_费用类别

PRIMARYKEYCLUSTERED(费用类别编号)ONFeeGrou ALTERTABLE费用报表 ADD CONSTRAINTFK费用报表员工 FOREIGNKEY(员工识别码) REFERENCES员工(员工识别码) ALTERTABLE费用详细数据 ADD CONSTRAINTFK费用详细数据费用报表 FOREIGNKEY(费用报表编号) REFERENCES费用报表(费用报表编号), CONSTRAINTFK费用详细数据费用类别 FOREIGNKEY(费用类别编号) REFERENCES费用类别(费用类别编号) (8) CREATEVIEWdbo.订单 AS SELECTdbo..orderform..order_dateAS定购日期,dbo.book.book_nameAS书名, dbo.PRICEAS单价,dbo.orderform.book numberAS数量,dbo.clients.client nameAS 客户名, dbo.orderform.book number*dbo.book.priceAS FROMdbo.bookINNERJOINdbo.orderformONdbo.book.book id=dbo.orderform.book id INNERJOINdbo.clientsONdbo.orderform.client_id=dbo.clients.client_id
PRIMARYKEYCLUSTERED(费用类别编号)ONFeeGrou ALTERTABLE 费用报表 ADD CONSTRAINTFK_费用报表_员工 FOREIGNKEY(员工识别码) REFERENCES 员工(员工识别码) ALTERTABLE 费用详细数据 ADD CONSTRAINTFK_费用详细数据_费用报表 FOREIGNKEY(费用报表编号) REFERENCES 费用报表(费用报表编号), CONSTRAINTFK_费用详细数据_费用类别 FOREIGNKEY(费用类别编号) REFERENCES 费用类别(费用类别编号) ⑻ CREATEVIEWdbo.订单 AS SELECTdbo.orderform.order_dateAS 定购日期,dbo.book.book_nameAS 书名, dbo.PRICEAS 单价,dbo.orderform.book_numberAS 数量,dbo.clients.client_nameAS 客户名, dbo.orderform.book_number*dbo.book.priceAS 总额 FROMdbo.bookINNERJOINdbo.orderformONdbo.book.book_id=dbo.orderform.book_id INNERJOINdbo.clientsONdbo.orderform.client_id=dbo.clients.client_id