SQLserver数据库课程设计范例

合集下载

SQLServer数据库管理与开发第一版课程设计

SQLServer数据库管理与开发第一版课程设计

SQLServer数据库管理与开发第一版课程设计一、引言SQLServer作为一种常见的关系型数据库管理系统(RDBMS),广泛应用于企业级应用中。

本文旨在为初学者提供SQLServer数据库管理与开发第一版课程设计,帮助学习者快速掌握SQLServer的基本概念、操作方法和开发技巧。

二、课程目标本课程旨在使学生掌握SQLServer的数据库管理和开发技术,包括以下内容:•SQLServer数据库的安装、配置和管理•SQLServer的基本概念、系统架构和查询语言•SQLServer数据库的备份、还原和灾备•SQLServer的常用开发技术和工具(如.NET、Visual Studio等)•SQLServer数据仓库和数据挖掘技术三、课程内容本课程总共分为十个章节,分别介绍SQLServer的基础知识、高级特性和开发技术:第一章:SQLServer的基本概念和系统架构本章介绍SQLServer的体系结构、各个组件的功能和关系,以及SQLServer的各种版本和功能区别。

第二章:SQLServer查询语言(T-SQL)本章介绍SQLServer的查询语言,包括T-SQL的基本语法、函数、操作符和关键字等,以及T-SQL在SQLServer中被广泛应用于数据查询、分析和管理等方面的实践。

第三章:SQLServer数据库的备份和还原本章介绍SQLServer数据库备份和还原的基本原理和方法,以及常见的备份策略和恢复技巧。

第四章:SQLServer数据的导入和导出本章介绍SQLServer数据的导入和导出技术,包括从多种数据源(如Excel、CSV等)导入数据到SQLServer中的方法,以及如何把SQLServer中的数据导出为其他格式的文件。

第五章:SQLServer数据库的性能优化本章介绍SQLServer数据库性能优化的方法和技巧,包括索引的创建、存储过程的优化和SQLServer执行计划的分析等。

数据库技术与应用-SQLServer2000篇课程设计

数据库技术与应用-SQLServer2000篇课程设计

数据库技术与应用-SQLServer2000篇课程设计一、实验目的本次课程设计旨在帮助学生掌握SQLServer2000的基本使用方法,了解数据库设计的基本原则,培养学生良好的数据管理能力,提高数据处理能力。

二、实验内容1.数据库设计1.1 学生信息表字段名数据类型空值主键学生编号int not null 是学生姓名nvarchar(20) not null性别nvarchar(2) not null年龄int not null民族nvarchar(10) not null联系方式nvarchar(20) not null地址nvarchar(50) not null1.2 教师信息表字段名数据类型空值主键字段名数据类型空值主键教师编号int not null 是教师姓名nvarchar(20) not null性别nvarchar(2) not null年龄int not null教育背景nvarchar(50) not null联系方式nvarchar(20) not null1.3 课程信息表字段名数据类型空值主键课程编号int not null 是课程名称nvarchar(20) not null学分int not null教师编号int not null1.4 成绩信息表字段名数据类型空值主键成绩编号int not null 是学生编号int not null课程编号int not null成绩int not null2.实验操作2.1 数据库连接2.1.1 打开SQL Server Management Studio(简称SSMS)2.1.2 输入SQLServer用户名和密码登录2.1.3 新建数据库,命名为“学生管理系统”2.1.4 创建上述四个表2.2 数据库操作2.2.1 增加数据2.2.2 修改数据2.2.3 删除数据2.3 数据查询2.3.1 查询特定数据2.3.2 查询符合条件的数据2.3.3 求数据的总和、平均值、最大值、最小值等三、实验步骤3.1 配置SQL Server Management Studio3.2 创建新的数据库并与之连接3.3 创建上述四个表,并加入表中数据3.4 使用SQL语言进行数据的增加、修改、删除3.5 使用SQL语言进行数据的查询3.6 使用SQL语言进行数据汇总四、实验总结通过本次课程设计,我掌握了SQLServer2000的基本使用方法,了解了数据库设计的基本原则,并且培养了良好的数据管理能力,提高了自己的数据处理能力,使我更加熟练地运用SQL Server Management Studio进行高效的数据管理。

《SQL Server 数据库设计》课程设计报告示例

《SQL Server 数据库设计》课程设计报告示例

《SQL Server 数据库设计》课程设计报告课题名称:学生管理系统__班级:_09软大1班_学号:________姓名:________完成日期:_______课程设计报告内容项目名称姓名其他参与人员本人在本项目中主要完成的工作完成任务的体会一、系统分析(一)系统的需求分析:1、系统目标:本系统将实现用计算机管理学生的学习信息的功能。

具体完成班级信息管理、学生信息管理、课程信息管理、学生选课管理等功能。

2、系统的功能需求:本系统用户分为普通用户和超级用户两类,超级用户负责系统的维护,包括对班级信息、学生信息、课程信息的录入、修改、查询、删除等。

普通用户即学生只具有自己选择课程的权限、查看课表和自己成绩的权限。

3、系统功能划分:用户通过身份验证后进入主界面。

主界面为超级用户提供6项选择:学生信息管理、课程信息管理、班级信息管理、选课、密码修改和退出系统。

普通用户有4项选择:选课、课程查询、密码修改和退出系统。

(二)系统的功能分析:A、班级信息管理:给出所有班级列表,只有超级用户可以实现增加、修改、查询、删除班级信息,维护指定班级所有学生信息,为指定班级设置必修课和选修课以及学分限制等功能。

在维护指定班级信息功能中,只有超级用户可以增加、修改、删除学生信息,查看某一学生选课情况,为学生更改口令等功能。

在指定班级必修课功能中,以课程表形式列出所有必修课信息,可以实现为一个班级增加或删除必修课的功能。

B、学生信息管理:给出所有学生的列表,超级用户可以增加、修改、删除学生信息,查看学生信息,查看某个学生选课情况,为学生修改口令等功能。

本功能与班级信息维护功能中的维护指定班级学生信息功能相似,不同是本功能是列出所有班级的所有学生信息。

C、课程管理信息:超级用户可以增加、修改、删除课程信息,查看某门课程的选课情况,查看指定课程的信息。

D、选课:以课程表的形式列出学生的选课情况,学生可以为自己选修或者退选课程,而超级用户可以为任何学生选修或者退选课程。

数据库sqlserver课程设计

数据库sqlserver课程设计

数据库sqlserver课程设计一、课程目标知识目标:1. 学生能理解SQL Server数据库的基本概念,掌握数据库的结构和设计原则;2. 学生能掌握SQL Server的数据查询语言(DQL),包括SELECT、WHERE、GROUP BY、ORDER BY等子句的使用;3. 学生能掌握SQL Server的数据操纵语言(DML),如INSERT、UPDATE、DELETE等命令的使用;4. 学生能理解事务处理的概念,掌握事务的使用和事务日志的作用;5. 学生了解SQL Server的安全性和权限控制,能够实施基本的数据库安全策略。

技能目标:1. 学生能够独立创建和管理SQL Server数据库,包括表、索引、视图等数据库对象;2. 学生能够编写复杂的SQL查询语句,进行数据检索和统计分析;3. 学生能够使用SQL Server Management Studio(SSMS)进行数据库管理和维护;4. 学生能够运用事务处理确保数据的一致性和完整性;5. 学生能够实施简单的数据库安全策略,保护数据不被未授权访问。

情感态度价值观目标:1. 学生通过学习SQL Server数据库课程,培养对数据库管理和信息处理的兴趣,增强信息素养;2. 学生在学习过程中,培养合作精神,学会与他人共同解决问题,提高沟通能力;3. 学生认识到数据库在现实生活中的广泛应用,增强对所学知识实用性的认识;4. 学生意识到数据安全的重要性,树立正确的信息安全观念,遵守信息道德规范。

本课程针对高年级学生,在已有计算机基础知识和编程能力的基础上,进一步深入学习SQL Server数据库的知识。

课程注重理论与实践相结合,通过案例分析和实际操作,帮助学生掌握数据库技术,提高实际应用能力。

课程目标旨在使学生具备独立设计和使用数据库系统的能力,为未来从事相关领域工作奠定基础。

二、教学内容1. SQL Server简介与安装- SQL Server的发展历程与特点- SQL Server的安装与配置2. 数据库基础知识- 数据库的概念与分类- 关系型数据库的基本理论- SQL Server数据库结构3. 数据查询语言(DQL)- SELECT语句及其子句- 聚合函数与分组查询- 子查询与联接查询4. 数据操纵语言(DML)- INSERT、UPDATE、DELETE命令- 事务处理与事务日志- 数据一致性与完整性约束5. 数据库对象- 表、索引、视图的创建与管理- 存储过程、触发器、函数的编写与应用6. SQL Server安全管理- 数据库用户与角色- 权限控制与数据加密- 备份与恢复策略7. 实践项目- 设计并实现一个简单的数据库应用系统- 数据库性能优化与维护- 数据库安全性评估与改进教学内容根据课程目标,按照由浅入深的顺序进行组织,涵盖SQL Server数据库的基本概念、操作、管理和安全策略等方面。

《sqlserver数据库》课程设计范例

《sqlserver数据库》课程设计范例

《sqlserver数据库》课程设计范例一、教学目标本课程的教学目标是使学生掌握SQL Server数据库的基本理论、操作方法和应用技巧。

通过本课程的学习,学生将能够:1.知识目标:理解数据库的基本概念、原理和SQL Server数据库的特点;掌握SQL语言的基本语法和用法,包括数据定义、数据查询、数据更新和数据控制;了解数据库设计和建立的基本步骤。

2.技能目标:能够使用SQL Server数据库管理系统进行数据库的创建、维护和管理;能够编写简单的SQL查询语句进行数据的增、删、改、查操作;能够进行数据库的安全性和完整性设置。

3.情感态度价值观目标:培养学生对数据库技术的兴趣和好奇心,提高学生的问题解决能力和创新意识;培养学生的团队协作精神和良好的编程习惯。

二、教学内容本课程的教学内容主要包括以下几个部分:1.SQL Server数据库的基本概念和特点:数据库的概念、发展历程、数据模型、SQL Server的特点。

2.SQL语言的基本语法和用法:数据定义语言(DDL)、数据查询语言(DQL)、数据更新语言(DML)、数据控制语言(DCL)。

3.数据库的创建和管理:数据库的创建、维护、备份和恢复。

4.数据的增、删、改、查操作:使用SQL语句进行数据的添加、删除、修改和查询。

5.数据库的安全性和完整性设置:用户管理、权限分配、约束设置等。

三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解SQL Server数据库的基本概念、原理和SQL语言的语法。

2.案例分析法:通过实际案例让学生掌握数据库的创建、维护和管理方法。

3.实验法:让学生动手实践,进行数据库的创建、数据的增、删、改、查操作以及安全性和完整性设置。

4.讨论法:学生进行小组讨论,分享学习心得和经验,提高团队协作能力。

四、教学资源本课程所需的教学资源包括:1.教材:《SQL Server数据库教程》。

SQLServer数据库管理.开发与实践课程设计

SQLServer数据库管理.开发与实践课程设计

SQLServer数据库管理.开发与实践课程设计一、前言本文档是SQLServer数据库管理.开发与实践课程的设计文档。

在本课程中,我们将深入了解SQLServer数据库管理和开发的技能。

我们将探索各种关键概念、技术和技能,从基本的SQLServer数据库管理和编程技巧到高级DBA任务和编程要求。

我们将使用SQLServer数据库来创建、管理和优化各种类型的数据库和应用程序。

二、课程设计目标该课程的主要目的是使学生能够掌握SQLServer数据库的基本管理和开发技能。

在完成本课程后,学生将能够:•使用SQLServer数据库管理工具来创建和管理关系型数据库;•设计和编写SQLServer数据库的实现和管理计划;•通过了解SQLServer数据库的基本原理并运用常见的SQL查询来确定、优化和优化数据库设计;•实施数据备份和恢复政策,以确保恢复能力;•了解SQL Server数据库的复制、故障转移、性能调整和其他关键管理和开发主题。

三、课程设计内容3.1 数据库基础•数据库基本概念;•数据库管理系统简介;•数据库设计的基本流程;•数据库篇本设计范式。

3.2 SQL入门•SQL语言基础;•SQL语句的分类;•在SQLServer中执行SQL语句;•SQLServer的数据类型;•约束、程序、触发器和视图的使用。

3.3 SqlServer高级特性•SQLServer的索引和视图;•应用物理设计和规范;•SQLServer的监视和优化;•SQLServer的备份与恢复;•SQLServer的安全性和权限控制。

3.4 SqlServer高级编程•使用存储过程和触发器实现复杂的交易处理;•动态SQL和指针;•CLR的使用。

四、课程设计要求本课程设计是一个以SQLServer数据库为背景的基本数据库管理和开发项目。

学生需要执行以下任务:1.数据库设计和规划:学生需要设计一个包含必要数据表、视图、触发器、存储过程、索引和约束的SQLServer数据库。

sqlsever数据库课程设计

sqlsever数据库课程设计

sql sever数据库课程设计内容如下:一、课程目标知识目标:1. 熟练掌握SQL Server数据库的基本概念和原理;2. 学会使用SQL语句进行数据库的增删改查操作;3. 掌握数据库表的设计与关系维护;4. 了解数据库的安全性和事务处理。

技能目标:1. 能够独立安装和配置SQL Server数据库环境;2. 能够运用SQL语句完成常见的数据操作;3. 能够设计简单的数据库表,并进行关系维护;4. 能够对数据库进行简单的安全性和事务处理。

情感态度价值观目标:1. 培养学生对数据库技术的兴趣,提高其学习积极性;2. 培养学生良好的团队协作精神,提高沟通能力;3. 培养学生严谨、细心的学习态度,注重实际操作能力的培养;4. 增强学生的信息安全意识,注重数据保护。

课程性质:本课程为实践性较强的课程,注重学生动手能力的培养。

学生特点:学生具备一定的计算机操作基础,对数据库技术有一定了解,但实践经验不足。

教学要求:结合学生特点,注重理论与实践相结合,强化实践操作,使学生在掌握基本知识的基础上,提高实际操作能力。

在教学过程中,关注学生的情感态度价值观的培养,激发学生的学习兴趣,提高其综合素质。

通过本课程的学习,使学生具备一定的数据库设计与操作能力,为后续相关课程的学习打下坚实基础。

二、教学内容1. SQL Server数据库概述:介绍SQL Server的发展历程、特点和应用场景,使学生了解数据库的基本概念和SQL Server的优势。

- 教材章节:第一章 SQL Server概述2. SQL Server安装与配置:指导学生独立安装和配置SQL Server数据库环境,熟悉SQL Server Management Studio(SSMS)操作界面。

- 教材章节:第二章 SQL Server安装与配置3. SQL语句基础:讲解SQL语句的基本语法,包括SELECT、INSERT、UPDATE和DELETE等操作,使学生掌握数据库的增删改查操作。

SQLserver数据库设计实例

SQLserver数据库设计实例

数据库原理与应用课程设计 A 报告姓名:袁一帆学号:20121480学院 (系):管理学院专业:信息管理与信息系统班级:12级信管 1 班襄阳迈博信息科技有限公司企业考勤管理系统一、系统目标设计1系统开发的总体任务是实现企业员工考勤管理的系统化、规范化、和自动化。

2能够和人事管理系统、工资管理系统相结合,真正实现企业高效、科学、现代化的员工管理。

二、开发实际思想1尽量采用公司现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。

2员工考勤管理系统能够和考勤机相连接,从而完成自动、高效、科学的考勤信息输入。

3系统采用模块化程序设计方法,既便与系统功能的各种组合和修该,又便于未参与开发的技术维护人员补充、维护。

系统应具备数据库维护功能,即使根据用户需求进行数据的添加、删除、修改、被分等操作。

系统需求分析1考勤管理涉及企业人事管理的多个方面,如员工职务升迁、工资发放、奖金发放、员工医疗保险发放等等。

本利自重的考勤管理系统需要完成功能主要有以下几点。

2员工考勤信息处理。

该莫完成员工考勤情况的输入、修改等操作。

如果企业内有考勤机,可以将它的输出处理后,形成考勤管理系统考勤模块的输入。

3企业缺勤类型的设定。

4 企业考勤统计。

该模块可对某个员工进行考勤情况的统计,生成统计报表。

5缺勤时间,缺勤类型对工资的影响6缺勤时间,缺勤类型对升职的影响数据字典数据项表 1名称员工编号说明每个员工拥有唯一的编号类型字符型长度4有关数据存储员工基本信息存储表 2名称员工姓名说明员工姓名类型字符型长度10有关数据存储员工基本信息存储表 3名称员工职务说明员工在公司的职务类型字符型长度10有关数据存储员工基本信息存储表 4名称员工电话说明员工保留的联系方式类型字符型长度11有关数据存储员工基本信息存储表 5名称员工所属部门说明员工在公司的所属部门类型字符型长度20有关数据存储员工基本系存储表 6名称缺勤类别说明缺勤种类类型字符型长度3有关数据存储缺勤类别存储表 7名称缺勤名称说明缺勤类别描述类型字符型长度10有关数据存储缺勤类别存储表 8名称缺勤描述说明缺勤描述长度50有关数据存储缺勤类别储存表 9名称缺勤天数说明缺勤的时长类型字符型长度3有关数据存储考勤管理存储表 10名称说明类型长度有关数据存储缺勤日期缺勤的具体时间字符型20缺勤管理存储数据结构表 11名称员工信息信息说明是考勤人员的主体数据结构,定义了公司员工的基本信息组成员工姓名;员工编号 ;员工所属部门;员工电话;员工职务表 12名称考勤信息信息说明是考勤系统的主体数据结构,定义了考勤的相关信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 概述课题简介书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。

因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。

设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。

数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。

数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

设计内容运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。

首先做好需求分析,并完成数据流图和数据字典。

其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。

然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型2 需求分析功能分析首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。

图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等;供应商信息:供应商名称、地址、电话,联系人;客户信息:客户编号、名称、年龄、性别、累计购书金额等;销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。

在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义为存储过程。

查询当月书店销售金额、营业金额;(存储过程)查询某种图书库存数量;(存储过程)查询当月销量最好的图书信息;(存储过程)按供应商名称查询订购信息;(普通查询)查询购买次数超过3次的客户信息。

(普通查询)接着根据需要建立触发器、存储过程、索引,实现对数据库的优化。

最后,进行过程功能的验证。

允许具有权限者对数据库进行数据更新和查询等合法操作。

数据流图用流程图来描述处理过程与数据的关系数据流图如下:图2,1 数据流图数据字典用数据字典来描述数据数据字典如下:数据项:表数据字典数据结构:概念结构设计概念结构设计的方法设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩张以及混合策略。

本系统采用的是自底向上的方法。

即首先定义全局的概念结构的框架,然后逐步细化。

根据自顶向下地进行需求分析然后再自底向上地进行概念设计。

概念结构设计的步骤第一步:抽象数据;第二步:设计局部E-R图;第三步:把各分E-R图综合成总体E-R图,消除各种冲突;第四步:对总体E-R图进行优化,消除冗余数据和冗余联系;抽象初步数据:(此处与优化后E-R图得出的实体联系属性很有可能不同)实体:图书、供应商、客户联系:图书订购关系、图书销售关系图书与供应商的关系是多对一的关系;图书与客户的关系是多对一的关系。

属性:图书的属性:图书编号、图书名称、出版社名称、作者名称、供应商名称;主码为图书编号供应商的属性:供应商名称、供应商地址、电话、联系人;主码为供应商名称客户的属性:客户编号、姓名、性别、年龄;主码为客户编号图书订购关系属性:供应商名称、图书编号、订购时间、订购单价;主码为供应商名称和图书编号图书销售关系属性:客户编号、图书编号、销售时间、销售单价;主码为客户编号和图书编号分E-R图:图书E-R图:供应商E-R图:客户E-R图:初E-R图:优化后的总E-R图:逻辑设计阶段逻辑设计阶段:将系统E-R模型转换为关系模式,并对给出的关系模式进行关系规范化处理(尽量满足3NF),得到系统全部的关系模式,并标明主键、外键此部分一律采用英文命名。

然后进行用户外模式的设计,针对中国用户,此处用中文命名。

将E——R模式转换为以下关系模式:1) book(#bname, writer_name, press_name);主键:#bname2.) everybook (# bno, #bname) ;主键:#bno外键:#bname3) supplier (#supplier_name, address, telephone, contact) ;主键:#supplier_name4) customer (#cno, cname, sex, age);主键:#cno5) book_order(#bname, #supplier_name, #order_time, order_price, order_count);主键: #bname, #supplier_name, #order_time6) book_sell(#bno, #cno, sell_time, sell_price);主键:#bno发现这六个关系模式3N都满足。

因为元组中都是不可分割的数据,且所有非主属性完全依赖其主码,且它的任何一个非主属性都不传递于任何主关键字。

用户外模式设计:基本信息视图的建立:1. 单本销售情况(图书编号,图书名称客户编号,客户名称,销售单价,销售时间);2. 同种销售情况(书名,销售数量,销售金额);3. 客户信息(客户编号,客户名称、性别,年龄,累计购书金额);4. 供应商信息(供应商名称,地址,电话,联系人);5. 图书订购信息(图书名称,供应商名称,订购时间,订购数量,订购单价,订购金额,出版社名称,作者名称);物理设计阶段物理设计阶段:为一个逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法),数据库的物理设计通常分为两步:A、确定数据库的物理结构;B、对物理结构进行时间和空间效率评价。

建立小型书店管理系统创建数据库 book_shop_management--创建小型书店管理系统create database book_shop_managementon primary(name='book_shop_management',filename='d:\program files\microsoft sql server\\mssql\data\ ',size=10mb,maxsize=unlimited,filegrowth=10%)log on(name='book_shop_management_log',filename='d:\program files\microsoft sql server\\mssql\data\', size=1mb,maxsize=5mb,filegrowth=3%)go截图得:对各个基本表的建立(包括了各种完整性约束)建立表 book--建立表bookcreate table book(#bname varchar(30)primary key,writer_name char(8),press_name char(12))建立表 everybook--建立表everybookcreate table everybook(#bno char(8)primary key,#bname varchar(30)not nullconstraint fk_everybook_bname foreign key references book(#bname))--建立表suppliercreate table supplier(#supplier_name char(12)primary key,address varchar(50)not null,telephone char(7)not null,contact char(8)not null)建立表 customer--建立表customercreate table customer(#cno char(8)primary key,cname char(8)not null,sex char(2),age int,constraint ck_customer_sex check(sex in('男','女')))--建立表book_ordercreate table book_order(#bname varchar(30),#supplier_name char(12),#order_time datetime,order_count int not null,order_price int not null,constraint pk_book_order primary key(#bname,#supplier_name,#order_time))建立表 book_sell--建立表book_sellcreate table book_sell(#bno char(8)primary key,#cno char(8)not null,sell_time datetime,sell_price int)建立视图建立基本信息视图:建立单本销售情况视图--建立单本销售情况视图create view view_单本销售情况asselect book_sell.#bno as图书编号,#bname as图书名称, book_sell.#cno as客户编号,cname as客户名称,sell_time as销售时间,sell_price as销售单价from book_sell,customer,everybookwhere everybook.#bno=book_sell.#bnoand customer.#cno=book_sell.#cno建立同种销售情况视图--建立同种销售情况视图create view view_同种销售情况asselect图书名称as书名,count(图书编号)as销售数量,sum(销售单价)as销售金额from view_单本销售情况group by图书名称建立客户信息视图--建立客户信息情况create view view_客户信息select customer.#cno as客户编号, cname as客户名称,sex as性别,age as年龄,(select sum(sell_price)from book_sell group by #cno)as累计购书金额from book_sell,customerwhere book_sell.#cno=customer.#cno建立供应商视图--建立供应商视图create view view_供应商信息asselect #supplier_name as供应商名称, address as地址,telephone as电话,contact as联系人from supplier建立订购信息视图--建立订购信息视图create view view_图书订购信息asselect book_order.#bname as图书名称, #supplier_name as供应商名称,#order_time as订购时间,order_price as订购单价,order_count as订购数量,(order_price*order_count)as订购金额,press_name as出版社名称,writer_name as作者名称from book,book_orderwhere book.#bname=book_order.#bname建立存储过程某种图书库存查询存储过程create procedure sp_某种图书库存查询--@p1为要查询的图书名称@p1 varchar(30)asbeginselect订购数-销售数量as库存from(select sum(order_count)as订购数,#bname as书名from book_ordergroup by #bname)as x,view_同种销售情况where x.书名=@p1 and view_同种销售情况.书名=@p1endgo某段时间内的销售业绩查询存储过程----建立本月业绩查询存储过程-----由于不知其它信息,此处将销售金额与营业金额等同-----营业金额=营业额=成本+利润create procedure sp_查询某段时间内的业绩--@p1为起始时间,@p2为结束时间@p1 datetime,@p2 datetimeasbeginselect sum(销售单价)as销售金额from view_单本销售情况where销售时间>=@p1 and销售时间<=@p2endgo某段时间内的销售最好图书信息查询存储过程----建立某段时间内销售最好图书信息查询存储过程create procedure sp_查询某段时间内销售最好的图书信息@p1 datetime,@p2 datetimeasbeginselect #bname as图书名称,writer_name as作者名称,press_name as出版社名称from(select图书名称as书名,count(图书编号)as销售数量from view_单本销售情况where销售时间>=@p1and销售时间<=@p2group by图书名称)as x,bookwhere #bname=书名and销售数量>=all(select count(图书编号)from view_单本销售情况where销售时间>=@p1and销售时间<=@p2group by图书名称)endgo建立触发器(另外5个表也建立相应曾删改触发器,不过此处从略,详情见附件源代码)建立一个customer的操作审核表,并建立相关触发器,当向customer中插入、更新或删除记录时,生成一条操作记录插入到该操作审核表中,内容包括客户编号、客户名称、操作方式(插入/更新/删除)和操作时间----建一个操作审核表create table customer_operate(客户编号char(8)not null,客户名称char(8)not null,操作方式char(4)not null,操作时间datetime not null)----建立相关触发器create trigger trigger_customer_inserton customerfor insertasbegindeclare @p1 char(8),@p2 char(8)set @p1=(select #cno from inserted)set @p2=(select cname from inserted)print'insert:'select*from insertedinsert into customer_operate values(@p1,@p2,'插入',getdate()) endgocreate trigger trigger_customer_deleteon customerfor deleteasbegindeclare @p1 char(8),@p2 char(8)set @p1=(select #cno from deleted)set @p2=(select cname from deleted)print'deleted:'select*from deletedinsert into customer_operate values(@p1,@p2,'删除',getdate()) endgocreate trigger trigger_customer_updateon customerfor updateasbegindeclare @p1 char(8),@p2 char(8)set @p1=(select #cno from deleted)set @p2=(select cname from deleted)print'inserted:'select*from insertedprint'deleted:'select*from deletedinsert into customer_operate values(@p1,@p2,'修改',getdate()) endgo建立索引(由于数据库比较小,没有必要建立索引)实现数据库(有附件源代码和该数据库源文件)过程功能验证向基本表插入适量如下数据并显示基本表信息everybook bookbook_sellcustomerBook_orderSuppilier注:此处插入数据应当book在everybook 之前插入数据(外键)截图得:视图显示基本信息---用显示视图基本信息select*from view_单本销售情况select*from view_供应商信息select*from view_客户信息select*from view_同种销售信息select*from view_图书订购信息截图得:执行存储过程完成目标查询某种图书库存查询exec sp_某种图书库存查询'烈火如歌'本月业绩查询exec sp_查询某段时间内的业绩'2013-7-1','2013-7-31'本月销售最好图书信息查询exec sp_查询某段时间内销售最好的图书信息'2013-7-1','2013-7-31'截图得:用普通查询完成目标查询(两次查询同时显示)订购超3次客户信息查询---订购超次客户信息查询select*from view_客户信息where客户编号=any(select #cno from book_sellgroup by #cnohaving count(*)>3)按供应商名称查询订购信息---按供应商名称查询订购信息select*from view_图书订购信息order by供应商名称截图得:注:数据检查得,确实没有订购超3次的客户。

相关文档
最新文档