云南大学 软件学院 数据库实验2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云南大学软件学院实验报告
课程:数据库原理与实用技术实验学期:2012-2013学年第二学期任课教师:
专业:学号:姓名:成绩:
实验2使用向导创建并管理数据库
一、实验目的
理解数据库的概念。熟悉Microsoft SQL Server 2000基本操作。掌握SQL Server系统中“企业管理器”的使用方法;能够熟练使用企业管理器管理数据库、数据表。了解由已经生成的数据库产生SQL脚本的方法。
二、实验内容
SQL Server 2000数据库平台
1.使用企业管理器创建如下数据库:(截图)
2.使用企业管理器创建Employee数据库表:(截图)
3.练习生成Employee数据库脚本“employee.sql”,并分析和记录下脚本信息。
4.使用企业管理器生成Employee数据库表的关系图,并记录。
5.在企业管理其中,直接执行删除表月薪表salary中的Fact列的操作,看是否能执行这一操作。可以执行该操作
三.思考题
1、在数据库salary表中要求base不小于300,bonus不小于50如何实现。
2、在数据库雇员信息表person中要求SEX列值只能为“男”或者“女”,如何实现。
USE [Employee]
GO
/****** Object: Table [dbo].[salary] Script Date: 03/21/2013 20:33:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[salary](
[Pno] [char](6) NOT NULL,
[base] [decimal](18, 0) NULL,
[Bonus] [datetime2](7) NULL,
[Month] [int] NOT NULL,
[Fact] [nchar](10) NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'(工人编号、month),主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'Pno'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'基本工资(要求base>=300)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'base'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖金(要求bonus>=50)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'Bonus'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月份' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'Month'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实发工资=基本工资+奖金' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'Fact'
GO
/****** Object: Table [dbo].[person] Script Date: 03/21/2013 20:33:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[person](
[Pno] [char](6) NOT NULL,
[Pname] [varchar](10) NOT NULL,
[Sex] [char](2) NOT NULL,
[Birthday] [datetime2](7) NULL,
[Prof] [varchar](10) NULL,
[Deptno] [char](4) NOT NULL
) ON [PRIMARY]