急找数据库课程设计

急找数据库课程设计,第1张

日 期 工 作 内 容 执 行 情 况 指导教师

签 字

4月15日

4月20日 准备 良好

4月21日至

5月10日 研究过程 良好

5月11日

5月30日 开始招收制作 良好

5月31日

6月10日 修改 良好

教师对进度计划实施情况总评

签名

年 月 日

本表作评定学生平时成绩的依据之一。

目录

第一章 绪 言 错误!未定义书签。

1) 第一节 研究历史 图书馆有各种图书若干万册。

2) 每种图书都有书名、图书编号、作者(译者)、出版社、定价和内容简介。

3) 借书证记录有借阅者的姓名、工作单位、住址、联系电话等。

4)凭借书证借书,每次最多能借5本书,借书期限最长为60天。

第二节……

1)图书馆借阅书籍于归还书籍的登记。也就是为读者建立一个台账,应用该台账,工作人员能方便地掌握某位读者借了哪些书,借了多长时间。

2)编著催还图书通知单。图书馆对所借书籍的最长借阅时间限制为60天,对逾期未还的读者下达催还图书通知单,促其尽快还书,以加快图书的流通。

3)提供快速的图书查询功能,方便读者尽快插大所需要的书。

4)系统提供的全部功能要简单、直观、实用

第三节……

1) 图书借阅。为有借书证的读者办理借阅登记,登记的内容包括借书证编号、图书编号、借阅日期。

2)图书归还。在适当位置登记,这个适当位置应该由借书证编号和图书编号决定。

3)编制催还图书通知单。对借阅图书超过60天者打印催还图书通知单,其内容包括借书证编号、读者姓名、电话号码、图书编号、名称、作者、出版社、借阅日期等信息。

4)借书证办理与退还。本系统只提供对借书证发放(办理)和回收(退还)两个过程的支持。

5)图书入库预报废。新采购书的入库登记和废旧图书的报废登记。对于新书入库有两种不同的情况:其一是新采购的图书在以前登记过,这次属于补充库存;

其二是图书馆以前没有登记过。

第二章……

代码:

/ 图书管理系统数据库

create database tsgl

on primary

(

name = 图书管理,

filename = 'D:\data\tsglmdf',

size = 10,

maxsize = unlimited,

filegrowth = 10%

)

log on

(

name = 图书管理,

filename = 'D:\data\tsglldf',

size = 2,

maxsize = unlimited,

filegrowth = 2%

)

/

/ 借书登记表

use tsgl

go

create table jszdjb

(

jszbh char(8),

tsbh char(8),

jyrq datetime,

ghrq datetime

)

/

/ 图书类型表

use tsgl

go

create table tslx

(

tslb char(8)

)

/

/ 借书证发放等级表

use tsgl

go

create table reader

(

jszbh char(8),

dzxm char(8),

gzdw char(30),

dhhm char(11),

jtzz char(20),

bzrq datetime,

tzrq datetime

)

/

/ 图书等级表

use tsgl

go

create table tsdj

(

tsbh char(8),

tsmc char(30),

zz char(8),

cbs char(30),

tslb char(8),

tsjg money,

kcsl int,

zksl int

)

/

/ 读者信息

use tsgl

go

create table readermes

(

jszbh char(8),

sex char(2) default '男',

snum char(10)

)

/

/ 性别为男的读者信息

use tsgl

go

create view rsex

as

select

from readermes

where readermessex = '男'

/

/

create trigger insert_r

on reader

for insert

as

begin

declare @jszbh char(8),

select @jszbh count(),

from reader join inserted

on readerjszbh = insertedjszbh

end

/

总结

任何一个社会组织和企业公司在发展过程中都会产生大量的数据,这些数据的组织存储、分析统计有利于提高企业的发展,有利于提高企业的效率。这些数据的组织和存储就是数据模型,就是数据库应用系统开发的任务。

数据库应用系统开发的过程一般包括可行性研究、需求分析、系统设计、程序编码、程序调试和系统维护六个阶段。根据数据库应用系统的复杂程度,不一定完全刻板地遵守上述步骤,但是,可行性研究、需求分析、系统设计、程序编码、程序调试是不可缺少的。

本次课程设计制作了一个简单的图书馆管理系统,实现了一些图书管理和借阅功能,但与实际系统还是有很大差别的。首先是对应用情况做了简单的理想化处理,因而难以反映实际工作中可能遇到的实际问题;其次,未考虑用户 *** 作中可能出现的错误的处理,而实际上这种错误的处理程序可能占应用系统的很大一部分。如本系统在需求分析和程序健全性方面均存在一些问题,为了解决这些不完善之处,需要在今后的进一步学习中,逐步深入,不断积累经验,不但提高。

参考文献

[1] 萨师煊、王珊《数据库系统概论》北京:高等教育出版社, 2000-2 第三版

[2] 朱如龙《SQL Server 2000 数据库应用系统开发技术》北京:机械工业出版社, 2007-1

[3] 朱如龙《SQL Server 2000 数据库应用系统开发技术实验指导》北京:机械工业出版社

[4] 黄梯云《管理信息系统》北京 : 高等教育出版社, 2005-3第三版

[5] 魏永继《SQL SERVER 2000应用程序开发》北京:机械工业出版社, 2007-2

[8] 王一平《数据库应用技术》北京:人民邮电出版社, 2005-12

《数据库原理及应用》课程设计

数据库原理课程设计任务书

一、目的

1 掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。

2 关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。

3 培养把所学知识运用到具体对象,并能求出解决方案的能力。

二、任务(任选其一)

A运用关系型数据库管理系统,实现本院图书馆管理信息系统。具体要求如下:

—图书、资料的登记、注销和查询。

—借书证管理,包括申请、注销借书证,查询借书证持有人等。

—借还图书、资料的登记、超期处理,超期拒借等。

—图书、资料查询,借、还图书和资料情况查询。

—图书、资料借阅情况的统计分析,拒此作为图书馆图书、资料订够的依据之一。(本项不作为基本要求)

B 运用关系型数据库管理系统,实现服务电话管理系统

向客户现场派技术人员的服务公司可以用服务电话管理系统跟踪客户、员工、工作订单、发票、付款等等。

要求:

数据库要存储以下信息:

—客户信息

—客户工需单信息

—完成工需单所需人工

—完成工需单所需部件

—部件信息

—付款信息

—雇员信息

完成的功能:

—输入/查看 客户工需单信息

—输入/查看部件、雇员等其它信息

—付款

—打印发票等

三、结果形式

1. 设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL实现的查询语言及查询结果。

2. 上机实现。

四、考核

1. 课程设计态度(20分)。

2. 递交的书面材料(40分)。

3. 上机运行情况(40分)

目录

1问题描述 2

11背景 2

12数据需求 2

13事物需求 3

14关系模式 3

2方案图表设计 3

21 E-R图 3

22数据流程图 8

23数据字典 9

24关系图: 11

3数据库源代码 12

31数据库建立 12

32数据初始化 14

4结果数据处理 17

41单表查询 17

42超期处理 19

43还书 *** 作 20

44借书 *** 作 22

45书籍状态 24

46读者状态 24

5结束语 26

51课程设计心得 26

1问题描述

11背景

随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。

另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。

12数据需求

图书馆管理信息系统需要完成功能主要有:

1 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。

2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。

3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。

4.书籍类别信息的查询、修改,包括类别编号、类别名称。

5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。

6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。

7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。

8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。

9.还书信息的输入,包括借书证编号、书籍编号、还书日期。

10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。

11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等

13事物需求

(1)在读者信息管理部分,要求:

a可以查询读者信息。

b可以对读者信息进行添加及删除的 *** 作。

(2 )在书籍信息管理部分,要求:

a可以浏览书籍信息,要求:

b可以对书籍信息进行维护,包括添加及删除的 *** 作。

(3)在借阅信息管理部分,要求:。

a可以浏览借阅信息。

b可以对借阅信息进行维护 *** 作。

(4)在归还信息管理部分,要求:

a可以浏览归还信息

b对归还信息可修改维护 *** 作

(5)在管理者信息管理部分,要求:

a显示当前数据库中管理者情况。

b对管理者信息维护 *** 作。

(6)在罚款信息管理部分,要求:

a可以浏览罚款信息

b对罚款信息可以更新

14关系模式

(一) 书籍类别(种类编号,种类名称)

(二) 读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)

(三) 书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)

(四) 借阅(借书证编号,书籍编号,读者借书时间)

(五) 还书(借书证编号,书籍编号,读者还书时间)

(六) 罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)

以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。

2方案图表设计

21 E-R图

根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。

图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。

211类别实体E-R图:

图2-1类别实体E-R图

212读者信息实体E-R图:

图2-2 读者信息实体E-R图

213信息实体E-R图:

图2-3信息实体E-R图

214记录信息实体E-R图:

图2-4 记录信息实体E-R图

215记录信息实体E-R图:

图2-5记录信息实体E-R图

216罚款信息实体E-R图:

图2-6罚款信息实体E-R图

216总的信息实体E-R图:

图2-7总的信息实体E-R图

22数据流程图

D5

归还信息录入 基本信息录入

D2

D1

基本信息录入 基本信息录入

D3

D4

借阅信息录入

读者信息返回 书籍信息返回

图2-7系统的数据流程图

23数据字典

表2-1 book_sytle 书籍类别信息表

表中列名 数据类型 可否为空 说明

bookstyleno varchar not null(主键) 种类编号

bookstyle Varchar not null 种类名称

表2-2 system_readers读者信息表格

表中列名 数据类型 可否为空 说明

readerid varchar not null(主键) 读者借书证号

readername varchar not null 读者姓名

readersex varchar not null 读者性别

readertype varchar null 读者种类

regdate datetime null 登记日期

表2-3 system_book书籍信息表

表中列名 数据类型 可否为空 说明

bookid Varchar Not null(主键) 书籍编号

bookname Varchar Not null 书籍名称

bookstyle Varchar Not null 书籍类别

bookauthor Varchar Not null 书籍作者

bookpub Varchar Null 出版社名称

bookpubdate Datetime Null 出版日期

bookindate Datetime Null 登记日期

isborrowed Varchar Not Null 是否被借出

表2-4 borrow_record 借阅记录信息表

表中列名 数据类型 可否为空 说明

readerid Varchar Not null(外主键) 读者借阅证编号

bookid Varchar Not null(外主键) 书籍编号

borrowdate Varchar Not null 读者借书时间

表2-5 return_record 借阅记录信息表

表中列名 数据类型 可否为空 说明

readername Varchar Not null(外主键) 读者借阅证编号

readerid Varchar Not null(外主键) 书籍编号

returndate datetime Not null 读者还书时间

表2-6 reader_fee 罚款记录信息表

readerid varchar Not null 读者借书证编号

readername varchar Not null 读者姓名

bookid varchar Not null(外主键) 书籍编号

bookname varchar Not null 书籍名称

bookfee varchar Not Null 罚款金额

borrowdate datetime Not Null 借阅时间

24关系图:

图2-8数据库存表关系图

3数据库源代码

31数据库建立

311创建数据库

USE master

GO

CREATE DATABASE librarysystem

ON

( NAME = librarysystem,

FILENAME = 'd:\librarysystemmdf',

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 5 )

LOG ON

( NAME = 'library',

FILENAME = 'd:\librarysystemldf',

SIZE = 5MB,

MAXSIZE = 25MB,

FILEGROWTH = 5MB )

GO

312书本类别表建立

create table book_style

(

bookstyleno varchar(30) primary key,

bookstyle varchar(30)

)

313创建书库表

create table system_books

(

bookid varchar(20) primary key,

bookname varchar(30) Not null,

bookstyleno varchar(30) Not null,

bookauthor varchar(30),

bookpub varchar(30) ,

bookpubdate datetime,

bookindate datetime ,

isborrowed varchar (2) ,

foreign key (bookstyleno) references book_style (bookstyleno),

)

314借书证表建立

create table system_readers

( readerid varchar(9)primary key,

readername varchar(9)not null ,

readersex varchar(2) not null,

readertype varchar(10),

regdate datetime

)

315借书记录表建立

create table borrow_record

( bookid varchar(20) primary key,

readerid varchar(9),

borrowdate datetime,

foreign key (bookid) references system_books(bookid),

foreign key (readerid) references system_readers(readerid),

)

316还书记录表建立

create table return_record

( bookid varchar(20) primary key,

readerid varchar(9),

returndate datetime,

foreign key (bookid) references system_books(bookid),

foreign key (readerid) references system_readers(readerid)

)

317罚款单表建立/

create table reader_fee

( readerid varchar(9)not null,

readername varchar(9)not null ,

bookid varchar(20) primary key,

bookname varchar(30) Not null,

bookfee varchar(30) ,

borrowdate datetime,

foreign key (bookid) references system_books(bookid),

foreign key (readerid) references system_readers(readerid)

)

32数据初始化

321将书籍类别加入表book_style中

insert into book_style(bookstyleno,bookstyle)values('1','人文艺术类')

insert into book_style(bookstyleno,bookstyle)values('2','自然科学类')

insert into book_style(bookstyleno,bookstyle)values('3','社会科学类')

insert into book_style(bookstyleno,bookstyle)values('4','艺术类')

insert into book_style(bookstyleno,bookstyle)values('5','政治经济类')

insert into book_style(bookstyleno,bookstyle)values('6','工程技术类')

insert into book_style(bookstyleno,bookstyle)values('7','语言技能类')

322将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )

values('00125415152','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )

values('00125415153','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )

values('00456456','数据库原理','6','萨师煊','高等教育出版社','2007-07-02','2007-09-15','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )

values('12215121','C程序设计','6','谭浩强','清华大学出版社','2002-04-02','2004-03-14','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )

values('9787308020558','计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )

values('45456141414','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )

values('5455515','中华历史5000年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )

values('015115','古代埃及','3','赵文华','北京大学出版社','2001-02-02','2002-09-15','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )

values('1514514','日本文化','1','吴小鹏','北京大学出版社','2002-04-02','2004-03-14','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )

values('15154656','微观经济学','5','李小刚','北京大学出版社','2000-10-03','2001-11-15','1');

insert

into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )

values('5658','影视文学','4','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');

insert into

system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )

values('565800020','探索宇宙奥秘','2','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');

323将已有图书证的读者加入system_readers表中/

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('X05620207','陈远鹏','男','学生','2005-9-23 14:23:56')

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('X05620206','陈特','男','学生','2005-09-30 13:24:54623')

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('X05620204','赵铭静','女','学生','2005-09-27 11:24:54123')

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('X05620202','潘虹','女','学生','2005-09-30 13:24:54473')

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('008415','蒋伟','男','教师','2004-04-30 09:24:54478')

insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('001456','李叶风','女','教师','2004-04-30 09:24:54478')

324添加已借书读者的记录,同时将在已借出的借阅标记置0/

insert into borrow_record(bookid,readerid,borrowdate)

values('00125415152','X05620202','2007-09-27 11:24:54123')

update system_books

set isborrowed=0

where bookid='00125415152'

insert into borrow_record(bookid,readerid,borrowdate)

values('00125415153','X05620206','2007-12-27 08:26:51452')

update system_books

set isborrowed=0

where bookid='00125415153' and isborrowed='1'

insert into borrow_record(bookid,readerid,borrowdate)

values('5455515','X05620207','2007-12-27 08:26:51452')

update system_books

set isborrowed=0

where bookid='5455515' and isborrowed='1'

insert into borrow_record(bookid,readerid,borrowdate)

values('015115','X05620204','2007-10-21 12:11:51452')

update system_books

set isborrowed=0

where bookid='015115' and isborrowed='1'

insert into borrow_record(bookid,readerid,borrowdate)

values('15154656','001456','2007-12-28 14:11:51312')

update system_books

set isborrowed=0

where bookid='15154656' and isborrowed='1'

insert into borrow_record(bookid,readerid,borrowdate)

values('565800020','008415','2007-08-28 15:11:31512')

update system_books

set isborrowed=0

where bookid='565800020' and isborrowed='1'

4结果数据处理

41单表查询

411表book_style中查询演示:

图4-1 表book_style中内容

412表system_books中查询演示:

图4-2 表system_books中内容

413将已有图书证的读者加入system_readers表中结果查询:

图4-3 表system_readers中内容

414借书纪录表borrow_record结果查询:

图4-4 表borrow_record中内容

42超期处理

421现在对已有借书证的读者进行查询借书是否超期(这里归定30天):

说明:当前的getdate()以日期为2008年1月6日计算

图4-4 选出借出超过30天的读者

422同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以03元扣除计算:

SQL语言:

insert into reader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate)

select system_readersreaderid 读者借书证编号 ,readername 读者姓名,

system_booksbookid 书籍编号,bookname 书名,

03(Datediff(day,convert(smalldatetime,borrowdate),getdate())-30) 超过时间天数,

borrowdate 借书时间

from borrow_record ,system_readers ,system_books

where system_readersreaderid=borrow_recordreaderid

and system_booksbookid=borrow_recordbookid

and Datediff(day,convert(smalldatetime,borrowdate),getdate())>=30

(所影响的行数为 3 行)

select readerid 书读者借书证编号,readername 读者姓名,

bookid 书籍编号,bookfee 超期罚款

from reader_fee

形成各本书对应的罚款金额,按03元每天算

图4-5查看罚款单

43还书 *** 作

431现在对某一读者进行还书 *** 作:

1.首先还书要在还书纪录中添加一条还书纪录

2.其次删除相应书本的借阅纪录

3.最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅

说明:学号为X05620207 姓名为陈远鹏 借阅的565800020书籍编号进行归还。

SQL语言:

insert into return_record(bookid,readerid,returndate)

select bookid,readerid,getdate()

from borrow_record

where bookid='565800020'

(所影响的行数为 1 行)

delete

from borrow_record

where bookid='565800020'

(所影响的行数为 1 行)

update system_books

set isborrowed=1

where bookid='565800020'

(所影响的行数为 1 行)

三个表的结果如图:

图4-6 增加了565800020纪录

图4-7 565800020这本书在借书纪录里没有了

图4-8 标记设为了‘1’

说明:这本书重新回到未被借出标记为1(注,相同的书其编号是不同的)

其结果为还书成功,相应的各表都有变化,对于罚款单通过借阅记录表borrow_record中更新。

44借书 *** 作

441查询未被借出的书本:

图4-9

442查询已被借出的书本:

图4-10

443申请借书证:

SQL语言:

Insert into system_readers(readerid,readername,readersex,readertype,regdate)

values('X05620211','小华','男','学生',getdate())

图4-11

说明:查询相应的纪录增加了小华这样一个读者的借书证纪录:

444注销借书证:

说明:

1.在注销之前执行所有的还书过程,就是上面写到的所述SQL语句,然后执行

delete from system_readers where readerid=' X05620211',

2.小华借书证纪录就被删除了,同时要删除和小华归还纪录的内容

delete from return_record where readerid=' X05620211',

445查询所有书所对应的类别:

图4-12

45书籍状态

451查询所有工技术类的书:

图4-13

452查询清华大学出版社出版的书:

图4-14

46读者状态

461查询什么人借了什么书:

SQL语言:

select readername 读者姓名,bookname 书籍名称

from borrow_record,system_books,system_readers

where system_readersreaderid=borrow_recordreaderid

and system_booksbookid=borrow_recordbookid

图4-15

462指定潘虹借了什么书:

SQL语言:

select readername 读者姓名,bookname 书籍名称

from borrow_record,system_books,system_readers

where system_readersreaderid=borrow_recordreaderid

and system_booksbookid=borrow_recordbookid

and readername='潘虹'

图4-16

5结束语

51课程设计心得

通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。

数据库课程设计心得 范文 1: 在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本 方法 ,进一步提高我们综合运用所学知识的能力。

当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。

我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而Php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。

知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。

数据库课程设计心得范文2:

一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。

课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古 名言 的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。

数据结构,是一门研究非数值计算的程序设计问题中计算机的 *** 作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。作为一门独立的课程在国外是从20XX年才开始设立的。20XX年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其 *** 作的著作。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、 *** 作系统 、数据库系统及其他系统程序的重要基础。

通过这次模具设计,我在多方面都有所提高。

一、编译工具VisualC++

很多程序在结构上是独立的,但是本此设计的程序功能不是零散的,它有一个连接是的程序是一个整体,怎样达到这种统一体呢因为这个输出连接是贯穿始终的。说到这,就应该说以下我所应用的调试工具,也就是运行环境VisualC++,可以充分利用Windows的支持剪贴版和英文的特点。正是在实现循环链表的程序中充分利用这个特点,才能制作出全汉化的初始化画面。

二、巩固和温习了C语言

在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。

这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。

三、积累了宝贵的 经验

我这次课程设计代码中主要使用了链表的循环和遍历这两中 *** 作。循环链表(CircularLinkedList)是单链表的另一种形式,它是一个首尾相接的链表。其特点是将单链表最后一个结点的指针域由NULL改为指向头结点或线性表中的第一个结点,就得到了单链形式的循环链表,并称为循环单链表。类似地,还有多重链的循环链表。在循环单链表中,表中所有结点被链在一个环上,多重循环链表则是将表中的结点链在多个环上。为了使某些 *** 作实现起来方便,在循环单链表中也可设置一个头结点。这样,空循环链表仅由一个自成循环的头结点表示。所谓遍历(Traversal),是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的 *** 作依赖于具体的应用问题。

这次课程设计我选中的题目是个人资料的管理。编写了一个可以简易使用的个人资料管理系统,可以进行资料的输入和管理。虽然在我的程序中有一部分是从网上搜索得来的,但我已经竭力将所获得的信息变成自己的资源,动手上机 *** 作,在了解和看懂的基础上有所改变和创新,但是在的程序软件中还有部分的不足,需要加以更新。仅管,我并没能很好的利用所学数据结构的知识,但我也尽了自己最大的努力用我所学来完成这次的课程设计。同时,通过这次课程设计,我认识到了自己动手实践的弱势,特别是在编程方面,知道了计算机的实践 *** 作是很重要的,只有通过上机编程才能充分的了解自己的不足。

四、对以后的学习充满了信心和期待

通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。

数据库课程设计心得范文3:

数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇 文章 ,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。

首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学aspnet),我接触到microsoft 公司的net产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql server2000,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。

通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。

来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseuml建模工具。在此之前,我脑袋里面没有软件建模的思想,什么uml建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。

开发的时候我想过用什么架构,c/s模式模式有很多,怎么选择我就上网搜索现在最流行的架构是什么。结果搜到了mvc架构,就是你啦。我决定用这个架构,不会,没关系,咱学。just do it!前期工作准备好后,那么我就得把我暑假学的net加以实践。这个时候我更加深入的了解了利用adonet *** 纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。

与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年net的核心技术就是xml[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!

我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。

数据库课程设计报告

计网0831数据库课程设计

1、数据的导入和导出今天是数据库实习的第一天,对于我们来说数据库虽然是今年刚刚学过的课程,但是我们已经考试完一段时间了,所以也很久没有翻书本了,很多知识在刚刚做的时候还是很陌生的,不得不翻一下书本,下面就是在第一天实习中所产生的问题报告和分析结果。

在做实训前,老师先给我们讲了数据库如何导入EXCL表,在老师的指导下我们学会了,为创建表提供了方便。

首先我们是建立了一个新的KCSJ数据库,建立的数据语句如下:

用SQL语句在D:\KCSJ下创建课程设计数据库(KCSJ)

(一)CREATE DATABASE KCSJ

ON

(NAME=KCSJ_DATA,

FILENAME='D:\KCSJ_DATAMDF')

LOG ON

(NAME=KCSJ_LOG,

FILENAME='D:\KCSJ_LOGLDF')

将KCSJXLS文件中的数据导入KCSJ数据库中。导入后在数据库中将生成以下五个基本表:

学生(学号,姓名,性别,年龄,入学成绩,班级,籍贯)

成绩(学号,课程号,成绩)

课程(课程号,课程名,教师名)

三角形(a,b,c,s)

回文数(A1,A2)

其中:a> 学生、成绩、课程、三角形、回文数是表的名字。

b> 学号、姓名、性别、班级、籍贯、课程名和教师名为字符型,长度分别为10 、10、2、6、8、20、10;

c> 入学成绩为整型。

d> 年龄、课程号和成绩为整型或微整型。

e> A1为整型;A2为字符型,长度为2。

f> a、b、c为float类型,代表三角形的三边,s为float类型,代表三角形的面积。

在导入数据库中KCSJXLS文件的数据导入的时候是在所有任务--导入数据—数据源为excel97-2000- 文件位置—导入表中的数据—修改类型和长度 最后确定。

用企业管理器创建数据库(JW0831),将KCSJ数据库中的五个表导入该数据库中。

打开所有任务 导入数据源 选择KSCJ 数据库 下一步 再选择jw0831数据库 选择所有 确定 就可以将KCSJ数据库中的五个表导入该数据库中。

简单的结构化查询

--(1)查询学生的详细记录

selectfrom 学生

--(2)查询学生表中前两个班级(班级名称不能重复)

select top 2 班级 from 学生

group by 班级

在做本题的时候,由于想的比较复杂,外加题意有点模糊,所以转了很大一个圈,并在老师的侧外指导下通过group by分组才把本题做了出来。

--(3)显示把 成绩表中各科学生的成绩加 20 分后的信息

selectfrom 成绩

where 成绩='成绩'+20

在做本题的时候,由于题意理解错误,所以我先用updata语句来进行更新,但是在做到其它题的时候,听到老师在指导其它同学的时候,把题意一说,我才恍然大悟,自己的方向又错了。然后又重新思考,接着就做出了上面的答案。

--(4)查询来自逗宁波地 学生的学号、姓名、籍贯

select 学号,姓名,籍贯 from 学生

where 籍贯='宁波'

--(5)查询选修4号课程且考试成绩在70分以上的学生的学号以及所选修的课程号和成绩,显示前3条结果记录

select top 3from 成绩

where 成绩>=70 and 课程号='4'

--(6)查询入学成绩在 300-400 分之内的学生的详细情况,并按入学成绩降序排序 ( 用两种方法完成 )

select from 学生

where 300<入学成绩 and 入学成绩<400 order by 入学成绩 desc

select from 学生

where 入学成绩 between 300 and 400 order by 入学成绩 desc

--(7)统计学生表中的学生人数

select count()from 学生

对于今天的题目做的多了,忽然发现很多题的类型都差不多,都是运用基本的书本知识,然后融会贯通,举一反三,然后不费吹灰之力就做出来了,我说的不费吹灰之力是简单的,但是有些还是费了好大一番功夫的。

--(8)查询学生表中姓李,姓名列包含两个字的学生的基本情况

select from 学生

where 姓名 like '李_'

--(9)查询名字中第 2 个字为‘北'的学生的基本信息

select from 学生

where 姓名 like '_北%

在做这几道题的时候,我解决了并也明白了—和%得区别和用途

--(10)查询选修 4 号课程,成绩在 80-90 分之间的学生学号和成绩

selectfrom 成绩

where 80<=成绩 and 成绩<90 and 课程号='4'

--(11)查询 JW0831 班和 JW0551 班学生的姓名、性别及班级(用谓词查询 in )

select 姓名,性别,班级 from 学生 where 班级 in('JW0831','JW0551')

group by 姓名,性别,班级

对于本道题拿到的时候,还是愣了一下的,因为我忽然不知道什么是,对于用谓词查询 in,自己不会用,在翻书翻了一遍并且询问了同学才发现如何去用它。

--(12)查询缺少成绩的学生的学号和相应的课程号

select 学号,课程号 from 成绩

where 成绩 is NULL

--(13)统计选修了4号课程学生人数

SELECT COUNT()AS'人数' FROM 成绩 where 课程号='4'

--(14)查询JW0831班家在河北学生的学号、姓名、性别

select 学号,姓名,性别 from 学生

where 籍贯='河北'and 班级='JW0831'

--(15)检索刘志生老师所授课程的课程号和课程名。

select 课程号,课程名 from 课程

where 教师名='刘志生'

---(16)检索年龄大于23岁的男学生的学号和姓名。

select 学号,姓名 from 学生

where 性别='男' and 年龄>23

--(17)查询学生表中姓李的学生的基本情况

select from 学生

where 姓名 like '李%'

--(18) 统计学生表中所有学生逗入学成绩地的平均分、最高分、最低分

select AVG(入学成绩) as'平均成绩',max(入学成绩) as'最高分',min(入学成绩) as'最低分'from 学生

--(19)查询选修了1号或者3号课程,成绩及格的学生的学号和成绩

select 学号,成绩 from 成绩

where 成绩>=60 and 课程号 in (1,3)

--(20)统计学生表中所有男女生人数

SELECT 性别, COUNT(性别)AS'人数' FROM 学生

group by 性别

对于今天的题除了自己不太熟悉课本知识和同学讨论出来的那些分析外,对于其他的题已经没有什么问题了,因为我把今天的题做完之后,把报告写完的同时,对于明天的题我也进行了一番思考,并且还帮助其他同学解决了一些不会的问题。

星期二 天气 冷 心情 good

3、复杂的结构化查询

--(1)检索至少选修刘志生老师所授课程中一门课程的女学生姓名。

select 学生学号,姓名,性别,课程课程号 from 学生,成绩,课程

where 性别='女' and 课程课程号 in(select 课程号 from 课程 where 教师名='刘志生')and 学生学号=成绩学号

and 课程课程号=成绩课程号

对于今天的课程设计不是像昨天一样那么简单了,简直是提高了一个很大的层次,简直是一步三晃啊!不容易啊!就像本题一样,在查询的时候要用一个子查询和三个条件才能把它做出来!

--(2)检索吴计算同学不学的课程的课程号。

select 课程号 from 课程 where 课程号 not in(select 成绩课程号 from 成绩,学生where 姓名='吴计算' and 成绩学号=学生学号)

在本题中,用的方法还真是一波三折啊!因为如果要查不学的课程,要先查出他学的课程,然后再排掉学过的!充分运用了not in这个语法

--(3)检索至少选修四门课程的学生学号。

select 学号, count(成绩学号)as '门数' from 成绩,课程 where 成绩课程号=课程课程号

group by 成绩学号

having count(成绩学号)>=4

对于本题的用的是count做统计这个数据语句,外加可以用在group by 语句后的having条件语句。通过本题的联系,可以很好的运用count 和having语句

--(4)检索全部学生都选修的课程的课程号与课程名。

select 课程课程名 ,课程课程号 from 成绩,课程

where 成绩课程号=课程课程号

group by 课程课程名,课程课程号

having count(成绩学号) in (select count(学生学号)from 学生)

--(5)检索选修课程包含刘志生老师所授课的学生学号。

select 学号 from 成绩,课程

where 教师名='刘志生'and 成绩课程号=课程课程号

--(6)统计有学生选修的课程门数。

select 学号, count(成绩学号)as '门数' from 成绩,课程 where 成绩课程号=课程课程号

group by 成绩学号

--(7)求选修4号课程的学生的平均年龄。

select AVG(年龄)as'平均年龄',成绩课程号 from 学生,成绩

where 课程号='4' and 学生学号=成绩学号

group by 成绩课程号

--(8)求刘志生老师所授课程的每门课程的学生平均成绩。

select avg(成绩成绩)as'平均成绩',课程课程号 from 成绩,课程

where 教师名='刘志生' and 成绩课程号=课程课程号

group by 课程课程号

--(9)统计每门课程的学生选修人数(超过6人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

select 成绩课程号, count(成绩学号)as '人数' from 成绩,课程

where 成绩课程号=课程课程号

group by 成绩课程号

having count(成绩学号)>=6

order by count(成绩学号) asc

--(10)检索学号比陆力利同学大,而年龄比他小的学生姓名。

select 学号,姓名 from 学生

where 学号>(select 学号 from 学生 where 姓名='陆力利') and 年龄<(select 年龄 from 学生 where 姓名='陆力利'

--(11)求年龄大于女同学平均年龄的男学生姓名和年龄。

select 姓名,年龄 from 学生

where 性别='男'and 年龄>(select avg(年龄)as'平均年龄'from 学生 where 性别='女')

--(12)统计学生人数超过 5人的班级名称和对应的人数

select 班级,count(学生学号)as '人数'from 学生

group by 班级

having count(学生学号)>=5

--(13)检索课程号和选修人数,查询结果按人数升序排列,若人数相同,按课程号降序排列。

select 成绩课程号, count(成绩学号)as '人数' from 成绩,课程

where 成绩课程号=课程课程号

group by 成绩课程号

order by count(成绩学号) asc,成绩课程号 desc

这道题运用很多知识点,不但用了count 统计 还用了 group by 分组 外加排序

--(14)查询选修课程学生的学号、姓名、所选课程号、取得的成绩

select 学生学号,学生姓名,成绩课程号,成绩成绩 from 学生,成绩

where 学生学号=成绩学号

--(15)查询学生的学号、课程号和成绩等级

select 学号,课程号,成绩,(

CASE

WHEN 成绩>=90 and 成绩<=100 THEN 'A'

WHEN 成绩>=80 and 成绩<90 THEN 'B'

WHEN 成绩>=70 and 成绩<80 THEN 'C'

WHEN 成绩>=60 and 成绩<70 THEN 'D'

ELSE 'E'

END ) as 等级

from 成绩

本题运用了一个新的知识点,这个知识点是在老师的ppt课件上找到的,利用这个语句何以很好很方便的为管理系统中的成绩分等级,所以在本体中一定要记住本语句的语法如:case when……and then ……else end

今天小结,通过今天一天的课程设计,我觉得我收获了很多,因为它让我以前学的不太好的知识点全部都巩固了一遍,尤其是成绩、课程、学生这些表与表的链接,每次不是这里连不上就是那里连不上,但是现在不但可以连上了,还可以帮助其他同学检查出来错误,真是一笔不小的收获,虽然今天做的题比较难,但是每一次在自己的努力下做出来都会有不小的成就感……

3、复杂的结构化查询

星期三 天气 冷 心情 good

外面飘着雪花,美好的一天又已经开始了!实习已经到了一半,离回家的日子也近了很多,所以心情也是越实习越好了!今天的工作当然也完成的比较顺利!虽然有的还挺难的!但是相信自己一定就会成功!嘿嘿……看看自己的劳动成果就知道了!

3、复杂的结构化查询

--(16)查询选修了英语的学生的姓名和成绩;

select 学生姓名,成绩成绩 from 成绩,学生,课程

where 课程课程名='英语'and 学生学号=成绩学号 and 课程课程号=成绩课程号

group by 学生姓名,成绩成绩

--(17)分别统计每个班级的男女人数(要求显示出班级、性别、对应的人数)

SELECT 班级, 性别, COUNT(性别)AS'人数' FROM 学生

group by 班级,性别

--(18)求年龄大于所有女同学年龄的男学生姓名和年龄。

select 姓名,年龄 from 学生

where 性别='男'and 年龄>(select max(年龄) from 学生 where 性别='女')

group by 姓名,年龄

--(19)计算选修了1号课程的学生的平均成绩(要求显示出课程号和对应的平均成绩)

select 课程号,avg(成绩)as'平均成绩'from 成绩

where 课程号='1'

group by 课程号

--(20)查询选修课程学生的学号、姓名、所选课程名、取得的成绩

select 学生学号,姓名,课程课程名,成绩成绩 from 学生,成绩,课程

where 学生学号=成绩学号 and 课程课程号=成绩课程号

--(21)查询学生的学号、姓名、性别及所选修各门课程的成绩(要求每位学生用一个数据行显示这些信息)

SELECT 学生学号, 学生姓名,学生性别,

(select 成绩 from 成绩 where 课程号='1' and 学生学号=学号) as '数学',

(select 成绩 from 成绩 where 课程号='2' and 学生学号=学号) as '英语',

(select 成绩 from 成绩 where 课程号='3' and 学生学号=学号) as '计算机基础',

(select 成绩 from 成绩 where 课程号='4' and 学生学号=学号) as '数据库',

(select 成绩 from 成绩 where 课程号='5' and 学生学号=学号) as '政治',

(select 成绩 from 成绩 where 课程号='6' and 学生学号=学号) as '体育'

FROM 学生 INNER JOIN 成绩 ON 学生学号=成绩学号

GROUP BY 学生学号, 学生姓名,学生性别

--(22)查询李路路所学的课程名和对应的成绩,并按照成绩升序排列。

select 姓名,课程名,成绩 from 学生,课程,成绩

where 姓名='李路路'and 课程课程号=成绩课程号 and 学生学号=成绩学号

order by 成绩

--(23)查询平均成绩大于 75 分的课程,要求显示课程名和平均成绩。

select 课程名,avg(成绩)as'平均成绩' from 课程,成绩

where 课程课程号=成绩课程号

group by 课程名

having avg(成绩)>=75

--(24)查询所选课程平均成绩前三名的那些学生的姓名和平均成绩。

select top 3 学生学号,姓名,avg(成绩成绩)as'平均成绩'from 成绩,学生 where 学生学号=成绩学号 group by 学生学号,姓名 order by avg(成绩成绩) desc

--(25)查询和李工业在同一个班级的学号和姓名

select 学号,姓名 from 学生

where 班级 in (select 班级 from 学生 where 姓名='李工业')

--(26)查询JW0831班中入学成绩比李里高的学生的姓名

select 姓名 from 学生

where 班级='JW0831' and 入学成绩>(select 入学成绩 from 学生 where 姓名='李里')

--(27)在学生表中查询高于入学成绩平均分的学生学号、姓名、班级、入学成绩

select 学号,姓名,班级,入学成绩 from 学生

where 入学成绩>(select avg(入学成绩)as'平均成绩'from 学生)

--(28)查询没有选修课程的学生的学号和姓名

select 学生学号,学生姓名 from 学生

where 学号 not in(select 学号 from 成绩 group by 学号 )

--(29)查询选修了 5(含5) 门以上课程的学生的姓名。

select 姓名 from 学生,成绩,课程 where 成绩课程号=课程课程号 and 学生学号=成绩学号

group by 成绩学号,姓名

having count(成绩学号)>=5

--(30)查找同名同姓的学生信息。

select a1 from 学生 a1,学生 a2

where a1姓名=a2姓名 and a1学号<>a2学号

星期四 天气 冷 心情 good

数据管理

--(1)利用学生表创建一个新表(不含数据):优秀(学号,姓名,性别),

--然后在学生表中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,

--并把检索到的值送往优秀表中。

select 学号,姓名,性别 into 优秀 from 学生

where 5>6

insert into 优秀 select 学号,姓名,性别 from 学生 where 学号 in (select 学号 from 成绩 group by 学号 having min(成绩)>=80 )

--(2)把李路路同学的选课和成绩全部删去。

delete from 成绩

where 成绩 in(select 成绩 from 学生,成绩 where 学生学号=成绩学号 and 姓名='李路路')

--(3)把低于总平均成绩的女同学成绩提高5%。

UPDATE 成绩 SET 成绩=成绩(1+005) WHERE 成绩<(select avg(成绩成绩)as'平均成绩'from 成绩) and 学号 in(select 学号 from 学生 where 性别='女')

--(4)把选修数学课不及格的成绩全改为空值。

UPDATE 成绩 SET 成绩=null WHERE 成绩<60 AND 课程号=(select 课程号 from 课程 where 课程名='数学')

--(5)在成绩表修改4号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)。

UPDATE 成绩 SET 成绩=成绩05 WHERE 成绩<=75 and 课程号='4'

UPDATE 成绩 SET 成绩=成绩04 WHERE 成绩>75 and 课程号='4'

--(6)将选修4号课程且成绩没有及格的学生的成绩调整为 60 分。

UPDATE 成绩 SET 成绩=60 WHERE 成绩<60 AND 课程号='4'

自定义函数的使用

编写一函数(hws),判断一个整数是否为回文数,若是函数值为逗是地,否则为逗否地,利用该函数判断回文数基本表中A1列的整数是否为回文数,若是,则A2列的值为逗是地,否则为逗否地。

create function hws(@A1 int)

returns char(2)

as

begin

declare @y int,@r int,@c char(2),@z int

select @y=0,@z=@A1

while @A1!=0

select @r=@A1%10,@y=@y10+@r,@A1=@A1/10

if @y=@z

set @c='是'

else

set @c='否'

return @c

end

update 回文数 set A2=dbohws(A1)。

星期五 天气 冷 心情 good

游标的使用

利用游标可以访问单独数据行的特点,逐一对三角形基本表中的数据行(三条边)进行处理,求三角形的面积。

Declare yb cursor

For

Selectfrom 三角形

Declare @a float,@b float,@c float,@p float,@s float

Open yb

Fetch next from yb into @a,@b,@c,@s

While @@fetch_status=0

Begin

If @a+@b>@c and @a+@c>@b and @b+@c>@a

select @p=(@a+@b+@c)/20,@s=round(sqrt(@p(@p-@a)(@p-@b)(@p-@c)),2)

else

set @s=null

update 三角形 set s=@s where current of yb

fetch next from yb into @a,@b,@c,@s

end

close yb

deallocate yb

心得体会

时光匆匆,一个星期的实习已经接近尾声了,对于本次的实习心情就是轻松加愉快,收获也是硕果累累,在老师的安排下,实习的过程是根据每天老师给的任务,按时完成作业然后再把报告写完根据规划每天都有条不絮的干着自己的事情,对于我是一个不会安排时间的人,生活中重来没有规划,所以事情每次干完不是紧一阵就是松一阵的,所以通过这次实习中在老师的安排下,自己也懂得了安排时间的重要性,也从中吸取到了一些经验。

在本次实习中我不仅把本学期学习的数据库基本知识进行了点到点的复习,也把它进行了巩固,在原来没有学好的地方通过本次的实习学的比以前学的更好,不仅如此,我们在做课程设计的时候还学会了独自的思考和协作,有些知识点我们运用的不是很好,但是后面再老实的帮助和在同学的探讨下,最后都把它解决了出来。除此之外,我也感觉到实习并不是因为完成任务而实习,它是为了让我们更好的掌握知识,并把知识运用到生活中去的,就像艺术一样,源于生活,而应用于生活一样。数据库的学习,也是为了以后生活中方便自己方便他人而学习的。

由于每天紧张的课程,一路都是匆匆来匆匆去,所以一个班同学的交流也是很少的,通过实习所以同学之间交流的机会也就比较多了一点,比才的感觉也因此增进了不少,以上就是本次在实习中所得到的心得,至于没有感受到的,将在以后的生活中再次的吸取生活中的经验。来进行学习中的总结。

以上就是关于急找数据库课程设计全部的内容,包括:急找数据库课程设计、急!求个数据库课程的设计!!、数据库课程设计心得3篇等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9309841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存