- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验十 SQL Server 2000 的数据库综合操作
一、 实验目的
进一步掌握 SQL Server 2000 数据库及其组成。
进一步熟悉主要数据库对象的操作。
提高应用企业管理器管理 SQL Server 2000 数据库的能力。
提高 T-SQL 语句的编写能力。
进一步明确数据库管理的主要功能。
二、 实验要求
创建一个数据库及数据库中对象。
三、 实验步骤
1. 打开查询分析器,以 T-SQL 语句完成后续操作。
2. 以默认方式创建数据库eshop。在查询分析器中输入创建数据库eshop的SQL代码如下所示:
CREATE DATABASE eshop
3. 创建eshop数据库中表 members、products 和 orders(注意添加列和表的约束)。 在查询分析器中输入以下 SQL 代码以分别创建数据表 members、products 和 orders 及其相应的约束:
USE eshop
CREATE TABLE members (
m_account VARCHAR(20) PRIMARY KEY, m_name VARCHAR(20),
m_sex CHAR(2), m_birth DATETIME, m_address VARCHAR(50),
m_salary MONEY, m_password VARCHAR(20)
)
GO
CREATE TABLE products (
p_no CHAR(10) PRIMARY KEY, p_name VARCHAR(30),
p_date DATETIME, p_quantity INT, p_price MONEY,
p_information VARCHAR(50)
)
GO
CREATE TABLE orders(
m_account VARCHAR(20), p_no CHAR(10), o_quantity INT,
o_date DATETIME, o_confirm_state CHAR(1), o_pay_state CHAR(1),
o_send_state CHAR(1) CONSTRAINT pk_Orders_mAccount_pNo_ODate PRIMARY KEY(m_account, p_no, o_date),
CONSTRAINT fk_Orders_mAccount FOREIGN KEY(m_account) REFERENCES members(m_account),
CONSTRAINT fk_Orders_pNo FOREIGN KEY(p_no) REFERENCES products(p_no)
)
GO
4. 创建商品价格不能超过 10000 的触发器 t_price。
当插入或更新数据表 products 时,如果价格超过 10000 ,则弹出消息“价格不合法”,创建该触发器的 SQL 代码:
create TRIGGER t_price on products
after insert
aS
declare @price money
select @price=p_price
from inserted
if @price 1000
begin
rollback transaction
raiserror(商品拆超出范围,16,10)
end
5. 创建年龄在 15 至 100 之间的触发器 t_birth。
当插入或更新数据表 members 时,如果年龄不在 15 至 100 之间,则弹出消息“年龄不合法”, 创建该触发器的 SQL 代码:
create TRIGGER t_birth
on members
for insert ,update
aS
declare @age int
select @age=year(getdate())-year(m_birth)
from inserted
if @age not between 15 and 60
begin
rollback transaction
raiserror(年龄不合法,16,10)
end
6. 往各表中添加样例数据,验证约束和触发器对数据完整性的作用。 分别往数据表 members 、products 和 orders 中添加样例数据,SQL 代码如下所示:
USE eshop
INSERT INTO members VALUES(Jinjin, 津津有味, 女, 1982-04-14, 北京市, 8200.0, jinjin)
INSERT INTO members VALUES(Lfz, 刘法治, 男, 1976-08-26, 天津市, 4500.0, lf
您可能关注的文档
最近下载
- 2024电梯监督检验和定期检验指南第1部分:乘客和载货电梯.pdf VIP
- 合成药物工艺研究.pptx VIP
- 电气预防性试验及防雷试验工程方案投标文件(技术方案).doc
- 基于“六位一体”内部控制的创新实践.pdf VIP
- 外商投资产业指导目录(2007年修订)(全文).doc VIP
- 新一代大学英语(提高篇)视听说教程 1 B1U1.pptx VIP
- 2025年秋新人教版数学三年级上册全册课件.pptx
- 吉J2020-011:木塑复合材料景观工程构造.pdf VIP
- 2024电梯监督检验和定期检验指南第3部分:杂物电梯.docx VIP
- 服装裁剪与制作(第三版)全书电子教案教学课件汇总.ppt
文档评论(0)