搜档网
当前位置:搜档网 › 数据库应用实例

数据库应用实例

实验名称实验2 单表查询

实验时间2012.3.6

一.实验目的(说明进行本实验的目的)

牢记SELECT 语句的基本语法格式;

熟练掌握使用SQL语句进行单表查询,尤其要熟练掌握GROUP BY子句、HAVING 子句和集函数;

二.实验准备(详细实验进行中试用的软件、数据设备)

SQL Sever2005

三.实验内容及步骤

将“学生表”表拆分为“学生”、“班级”两个表文件,以消除冗余

select 序号,姓名,学号,班级,民族,身份证号码into 学生

from 学生表

select distinct(班级),学院,校区, 姓名,学号,年级into 班级

from 学生表

delete from 班级

where 班级is null

(1)查询“学生”表中的“民族”列中包含的民族的个数,并将查询结果的列名显示为“民族数”

select count(distinct(民族))民族数

from 学生

(2)已知身份证的第七位到第十位为出生年份,请输出每位学生的年龄

select 姓名, 2012- substring(身份证号码,7,4)

from 学生

delete from 学生

where 身份证号码is null

查询输出年龄在30岁以上(不包含26岁)的学生姓名及身份证号码

update 学生表

set 年龄= 2012-substring(身份证号码,7,4)

select 姓名,身份证号码

from 学生表

where (年龄>30)and (年龄<50)

-----查询并输出壮族和满族学生个数

select count(distinct(民族))

from 学生

where 民族='壮族' or 民族= '满族'

-----统计“李”姓和“张”姓学生个数

select count(distinct(姓名))

from 学生

where 姓名like'李%' or 姓名like '张%'

-----查询所有“地信”班级的学生,并按年龄由大到小排列select 姓名,年龄

from 学生表

where (学院='地学院')

order by 年龄desc

四.实验结果及分析

五.教师评语

实验名称实验3 连接查询

实验时间2012.3.20

一.实验目的(说明进行本实验的目的)

熟练掌握使用SQL标准语句和T-SQL扩展语句进行连接查询。二.实验准备(详细实验进行中试用的软件、数据设备)

SQL Sever2005

--1.查询借阅图书超过3本的学生名单

select 姓名,count(*) 借阅图书数

from 图书,学生

where 图书.学号=学生.学号

group by 姓名

having(count(*)>3)

--2.查询价格最高的图书的书名、作者、定价

select 书名,作者,定价

from 图书

where 定价=(select max(定价) from 图书)

--3.将借阅有关数据库方面图书的学生的姓名、班级、书名输出;

select 姓名,班级,书名

from 图书,学生

where 图书.学号=学生.学号and 书名like '%数据库%'

--4、借阅图书中,如果学生损坏或丢失图书需要进行赔偿,赔偿的金额为:--(现今年份-出版年度)*5+定价

--在图书表中添加“赔偿金额”列,并赋值。

update 图书

set 赔偿金额=(2012-出版年度)*5+定价

--5、查询库存数据库方面图书的价格总和。

select sum(定价)价格总和

from 图书

where 书名like '%数据库%'

--6、查询张浩同学借阅图书的书名、作者、定价

select 书名,作者,定价

from 图书,学生

where 图书.学号=学生.学号and 姓名='张浩'

--7、查询张浩同学借阅图书的本数。

select 姓名,count(*)

from 图书,学生

where 图书.学号=学生.学号and 姓名='张浩'

group by 姓名

--8、查询地学院借阅图书的学生的姓名及图书的书名、作者、定价。select distinct(姓名),学院,书名,作者,定价

from 图书,学生

where 图书.学号=学生.学号and 学院='地学院'

三.实验结果

四.教师评语

实验名称实验4 视图及时间函数

实验时间2012.4.3

一.实验目的(说明进行本实验的目的)

?熟练掌握使用企业管理器和T-SQL语句创建、查询、更新、修改和删除视图。

?进一步掌握视图与基本表的联系与区别。

?掌握部分时间函数的功能及应用。

二.实验准备(详细实验进行中试用的软件、数据设备)

SQL Sever2005

二.实验内容

-1、创建名为‘地学院’的借书视图,要求:(1)视图中显示所有地学院借过书的学生及借书的信息;

--(2)学生打开视图返回所有行时,各列的名字为:姓名、地学院班级、书名、定价、借阅时间;

create view 地学院(姓名,地学院班级,书名,定价,借阅时间)

as

select 姓名,班级,书名,定价,借阅日期

from 图书,学生

where 学生.学号=图书.学号and 学院='地学院'

--2、在‘地学院’视图中查询出地学院各班级借阅图书的平均价格。

select 地学院班级avg(定价) 平均价格

from 地学院

group by 地学院班级

--3、在学生、图书表中查询出借书本书最少的班级及数量。

create view T(班级,借阅图书数)

as select 班级, count(*)

from 学生,图书

where 学生.学号=图书.学号

group by 班级

select *

from T

where 借阅图书数=(select min(借阅图书数)from T)

--4、在‘地学院’视图中查询出借书本书最少的班级及数量,与上题得出结果进行对比。(select 地学院班级,count(*)借阅图书数

from 地学院

group by 地学院班级) as T

select *

from T

where 借阅图书数=(select min(借阅图书数)from (select 地学院班级,count(*)借阅图书数from 地学院

group by 地学院班级) as T)

三.实验结果

四.教师评语

实验名称实验5 数据库完整性

实验时间2012.4.17

一.实验目的(说明进行本实验的目的)

?熟练掌握实体完整性的实现。

?熟练掌握参照完整性的实现。

?熟练掌握用户自定义完整性的实现。

?理解触发器

二.实验准备(详细实验进行中试用的软件、数据设备)

SQL Sever2005

三.实验内容及步骤

--1、设置学生表中的“序号”列值唯一。

alter table 学生

add constraint un_序号unique (序号)

--2、在企业管理器中实现学生表和图书表之间的参照完整性,

--验证参照完整性建立前后的区别。

alter table 学生

alter column 序号float not null

alter table 学生

add constraint pk_xvhao primary key(序号)

alter table 图书

add constraint fk_jieyue foreign key (序号)

references 学生(序号)

--3、将图书表中的“出版年度”一栏进行设定,

--保证该栏中的年份要在1960年以后,包含1960年。

alter table 图书

add

constraint chubanniandu_chk check(出版年度>=1960)

--4、对学生表中的“校区”一栏进行设定,

--保证该栏中的校区名称为现有几个校区名称之一。

select 校区

from 学生

group by 校区

alter table 学生

add constraint xiaoqu_chk check(校区='校本区'or 校区='南校区' or 校区='铁道校区' or 校区='湘雅校区')

--5、在学生表中添加“电子邮箱”列,

--设定该邮箱填入的内容必须符合“XXX@XXX.com”格式

--(其中XXX为任意个数的任意字符)。

alter table 学生

add 电子邮箱varchar(255)

alter table 学生

add constraint chk_youxiang check (电子邮箱like '%@%.com')

四.实验结果

实体完整性

UNIQUE约束、PRIMARY KEY约束、IDENTITY属性、索引

域完整性

CHECK约束、FOREIGN KEY约束、DEFAULT定义、NOT NULL定义、默认对象、规则对象参照完整性

FOREIGN KEY、CHECK约束、触发器

用户定义完整性

CREATE TABLE中的所有列级和表级约束、存储过程、触发器

五.教师评语

实验名称实验6 触发器

实验时间2012.4.30

一.实验目的(说明进行本实验的目的)

了解触发器的特点的实现方法

二.实验准备(详细实验进行中试用的软件、数据设备)SQL Sever2005

.三、实验内容及步骤

员工编号为:入职日期+部门编号+两位子编号,编写脚本实现,若部门编号变更为四位,员工编号随即改变

create trigger tr_123

on 员工

after update

as

declare @id1 char(4),@id2 char(4),@id3 varchar(20)

select @id1=部门编号,@id3=员工姓名from deleted

select @id2=部门编号from inserted

if update(部门编号)

begin

update 员工

set 员工编号=substring(员工编号,1,8)+@id2+substring(员工编号,12,2)

where 部门编号=@id1 and 员工姓名=@id3

end

update 员工

set 部门编号=3011

from 员工

where 部门编号=301

create trigger TR_region on 员工

after insert

as

declare @Ron1 char(15) @m int @ n

select @Ron1=员工编号from deleted

select @m=count(*) from 员工

2.指挥部和策划部总人数不超过总员工人数的30%

create trigger TR_889

on 员工

for insert

as

declare @num1 int,@num2 int,@id char(13)

set @num1=(select count(*) 指挥部和策划部总人数

from 员工

where 部门编号in(select 部门编号from 部门where 部门名称in ('指挥部','策划部'))) print @num1

select @num2=count(*) from 员工

select @id=员工编号from inserted

if(@num1>@num2*0.3)

begin

delete from 员工where 员工编号=@id

raiserror('不符合标准',7,2)

end

insert into 员工(员工编号,员工姓名,性别,部门编号)

values(2011122400102,'小香','女',201)

3.有么有办法实现员工编号的自动输入?

create trigger TR_456

on 员工

for insert

as

DECLARE @head char(8),@middle char(3),@last char(2),@num int

select * into #tb from inserted

set @head=convert(varchar,getdate(),112)

select @num=(count(*)+1) from 员工

where 部门编号in (select 部门编号from inserted)

if(@num<10)

set @last='0'+cast(@num as char(1))

else

set @last=@num

select @middle=部门编号from inserted

update #tb

set 员工编号=@head+@middle+@last

insert into 员工

select *from #tb

delete from #tb

四.实验结果

通过建立触发器实现对数据的管理和更新。

五.教师评语

实验名称实验7 T—SQL语言程序设计

实验时间2012.5.15

一.实验目的(说明进行本实验的目的)

?熟练掌握变量的定义和赋值。

?熟练掌握用户自定义数据类型定义、使用和删除。

?熟练掌握各种运算符。

?熟练掌握流程控制语句,尤其是条件语句和循环语句。

?熟悉并掌握常用的系统函数。

二.实验准备(详细实验进行中试用的软件、数据设备)

SQL Sever2005

三.实验内容及步骤

1、为提高学生学习动力,学校推出一项举措:根据本年综合测评成绩来确定下一年允许图书借阅本书,综合测评<450 允许借阅3本;综合测评>=450且综合测评<500允许借阅4本;综合测评>=500且综合测评<550允许借阅5本;综合测评>=550允许借阅6本,请在学生表中添加“借阅本数”列存放根据综合测评列生成的信息。

select 姓名,借阅本数=

case

when 综合测评<450 then 3

when 综合测评>=450 and 综合测评<500 then 4

when 综合测评>=500 and 综合测评<550 then 5

when 综合测评>=550 then 6

end

from 学生

2、创建触发器实现,在向学生表中添加学生或将当前学生的综合测评值变更时,自动在借阅本数列输入相应的值。

create trigger TR_gg on 学生

after insert

as

declare @n int,@m float

select @n=序号, @m= 综合测评from inserted

update 学生

set 借阅本书=

case

when 综合测评<450 then 3

when 综合测评>=450 and 综合测评<500 then 4

when 综合测评>=500 and 综合测评<550 then 5

when 综合测评>=550 then 6

end

where 序号=@n

3、各学院对学生的综合测评进行汇总,其中统计分数在500分以上的学生的人数占学院总人数的百分比。输出百分比值最高的学院。

select 学院,count(*) 以上的学生的人数

into 以上的学生的人数

from 学生

where 综合测评>500

group by 学院

select 学院,count(*) 学院总人数

into 学院总人数

from 学生

group by 学院

select

select 以上的学生的人数/学院总人数

from 以上的学生的人数,学院总人数

where 以上的学生的人数.学院=学院总人数.学院

select count(distinct(学院))

from 学生

select 学院总人数.学院,round(cast(以上的学生的人数as decimal)/学院总人数.学院总人数,3)*100 as 百分比

into 百分比

from 以上的学生的人数,学院总人数

where 以上的学生的人数.学院=学院总人数.学院

select *

from 百分比

where 百分比=(select max(round(cast(以上的学生的人数as decimal)/学院总人数.学院总人数,3)*100)

from 以上的学生的人数,学院总人数

where 以上的学生的人数.学院=学院总人数.学院)

4、输出第4小题中百分比值最高的前三名的学院名称和百分比值。

select top 3 with ties 学院,百分比

from 百分比

order by 百分比DESC

四.实验结果

使用T—SQL语言实对数据库的设计和对数据库的管理。

五、教师评语

数据库应用系统开发案例-程序代码

数据库应用系统开发 数据库系统开发案例—图书现场采购系统系统主窗体的实现 1.数据表结构的实现 经过前面的需求分析和概念结构设计以后,得到了数据库的逻辑结构。现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。可以直接在SQL Server 2000企业管理器中创建表,也可以在SQL查询分析器中创建。下面给出在查询分析器中创建这些表的SQL语句,读者可以将这些表创建在系统的pubs数据库中。 (1)创建书商图书基本信息表bookseller_bookinfo CREATE TABLE bookseller_bookinfo( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (2)创建图书馆图书馆藏基本信息表library_bookinfo CREATE TABLE library_bookinfo ( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (3)创建用户注册表user_info CREATE TABLE user_info ( user_ID varchar(10) PRIMARY KEY , user_PWD varchar(10) null )

ORACLE常用SQL语句大全

ORACLE常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not nul l],..) 根据已有的表创建新表: A:select * into table_new from table_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only<仅适用于Oracle> 5、说明:删除表 drop table tablename

6、说明:增加一个列,删除一个列 A:alter table tabname add column col type B:alter table tabname drop column colname 注:DB2DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、添加主键: Alter table tabname add primary key(col) 删除主键: Alter table tabname drop primary key(col) 8、创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、创建视图:create view viewname as select statement 删除视图:drop view viewname 10、几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、几个高级查询运算词 A:UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B:EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C:INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 12、使用外连接

C#.NET下三层架构数据库应用系统的开发

C#.NET 下三层架构数据库应用系统的开发 摘要:基于 C#.NET 下的三层架构数据库系统在目前的大型 Web 数据库体系中非常常见,这主要是因为它的开发模式相当快速便捷,且具有较高的可重复性和可维护性事物处理机制。本文结合实践应用论述了关于 C#.NET 三层架构数据库的应用标准流程,并给出了由数据库变化所导致的三层架构程序变化修改策略,以避免传统数据库应用系统中所存在的编译错误。 关键词:C#.NET;数据库应用系统;三层架构;访问层;表现层;逻辑层 C#作为一种计算机语言,它不仅仅局限于对.NET 应用程序的开发,它也能够基于 WinForm 程序展开设计开发流程,所以将C#编程语言移植到.NET平台中是较为常见的。在该语言的支持下,https://www.sodocs.net/doc/6c18772460.html,平台就应运而生。目前的https://www.sodocs.net/doc/6c18772460.html,平台可以支持例如企业 ERP、APS 等系统,其应用范围遍布于气象、交通、救护等领域,发挥着巨大的社会价值作用。但是随着数据库应用系统规模的越来越大,数据库内结构的越来越复杂,代码的出错率就越来越高,这就加大了维

护工作的难度。基于 C#.NET 语言环境下的三层架构 数据库应用系统就可以以它模块化的分层设计模型解决现有系统所存在的维护性及系统可用性问题,将复杂的问题简单化,促进系统功能体系的整体发挥。 一、对三层体系结构的分析 (一)三层体系结构的基本概况 三层体系结构就是在客户端与数据库间所加入的中间层,它也被称为是组件层。三层体系结构不是指代物理结构中的三层,而是基于逻辑思维的三层,它们共同作用于同一台设备上。 从应用功能角度来分析,三层体系结构中应用程序的数据访问、校验以及业务规则等等都放在了中间层实施处理。而通常情况下,三层体系结构是不提供客户端与数据库之间的交互的,它主要基于 COM/DCOM 通讯手段来和中间层衔接建立联系,并经由中间层与数据库实施交互作业。 (二)三层体系结构的交互具体操作流程三层体系结构的交互具体操作流程主要基于三点。第一点是数据访问层与数据库之间的交互,当访问层在数据库获取数据并将其传递到业务逻辑层后,业务的实际应用需要就会被满足。再者,业务逻辑层的数据操作指令也会实时传递至数据库,实现对数据 的接收、存储、处理和删除等基本操作。

Oracle数据库基本知识点

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

数据库应用系统开发

第9章数据库应用系统开发 本章将介绍开发数据库应用系统的基本步骤,然后以一个比较简单的学生管理系统为例,较为详细地介绍设计一个Visual FoxPro应用系统的开发过程,通过对数据库系统的开发实践来达到对所学知识的综合应用。 9.1数据库应用系统开发步骤 一个完整的数据库应用系统的设计开发应该包括两个方面:一是结构设计,即设计数据库框架和数据库结构;二是行为设计,即设计具体的应用程序。为了完成上述的设计目标,需要规范的设计方法和步骤。一般来说,数据库应用系统的开发包括以下几个步骤:需求分析、数据库设计、应用程序设计、软件测试、应用程序发布以及系统的运行和维护。 9.1.1需求分析 数据库应用系统的开发从系统的需求分析开始,它是整个开发过程的起点和基础。需求分析的目标是明确用户的具体要求,包括应用系统的功能结构、信息要求、处理要求、安全性与完整性的要求等具体的指标,并以需求分析报告的形式表达出来。 一般来说,需求分析需要从以下两个方面着手:数据分析和功能分析。数据分析是指通过合适的数据模型来描述系统所要处理的各种对象,建立关于对象的概念模型,再将概念模型转换为关系数据模型。功能分析是指确定系统边界,了解系统功能,确定哪些功能由计算机完成,哪些活动由人工完成。由计算机完成的功能就是系统应该实现的功能。 进行需求分析时应该注意以下一些问题:首先,需求分析必须建立在调查研究的基础上,包括访问用户,了解人工系统模型,采集相关资料等。为确保调查的客观性和正确性,系统调查工作应该严格按照自顶向下的系统化观点全面展开,逐层分析和了解。其次,在需求分析阶段就要建立基于用户需求的观念,主动和用户进行沟通,了解他们的需求和偏好,在系统实施的过程中也要及时接受用户的反馈信息,对系统进行适当的修正。 9.1.2数据库设计 数据库设计的任务主要包括概念结构的设计、逻辑结构的设计和物理结构设计。 数据库的概念结构是现实世界与机器世界的中介,它一方面能够充分地反映现实世界,包括实体和实体之间的联系,同时又易于向关系数据模型转换。在概念结构设计阶段,设计人员通过对现实世界的抽象,对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,并把这些特性用各种概念精确地加以描述,从而形成一个具体的独立于数据库管理系统的概念模型。 数据库的逻辑结构设计是指将概念模型转化为关系数据库模型,根据系统分析的结果来确定该数据库中需要存储哪些信息,以及如何利用字段来合理地表示这些信息,从而定义出数据库中每个表所需的字段和数据类型。并在此基础上对数据进行优化,排除数据冗余,弥补数据漏洞,完善数据结构。最后完成数据库的逻辑结构设计,设计表的结构、字段约束关

简单数据库设计实例

数据库设计实例 数据库设计是数据库应用系统设计的一个组成部分,其核心是针对于特定的应用环境,设计合理的数据模型,创建数据库及其应用系统,使之能够有效地存储和处理数据,以满足用户的应用需求。从实用角度出发,数据库设计可分为如下几个步骤: 第一步:创建概念数据模型 ◆确定实体和关系 ◆确定属性 ◆规化数据 第二步:生成物理数据模型 第三步:验证设计 为便于学习者理解和掌握,下面结合具体的实例来讲解和展示数据库设计的详细过程。假定我们要开发一个小型的ERP系统,以管理公司部资源,其应用业务场景描述如下: v512工作室由IT业界专业人士组成,在提供高端IT培训业务的同时,还自主制作并免费发布大量公益性学习资源,工作室以公司形式运营,目前共拥有18名员工,这些员工分属于4个部门,且员工之间存在上下级管理关系。计划将来根据业务的发展设立更多的部门,聘用更多的员工。为保证质量,工作室对其成员的各项专业技能进行了级别评定。 8.5.1 确定实体和关系 1. 确定高级别的活动 要确定本ERP系统数据库设计中的实体和实体间关系,首先应明确要基于该数据库执行的高级别活动,这里所谓的高级别活动是指从用户的视角出发,确定本数据库设计中系统所涉及到的业务活动。比如,存储和维护员工的个人信息等。 在前述的应用业务场景中,v512工作室需要考虑的高级别活动包括: -聘用新员工 -解雇现有员工 -维护员工的个人信息 -增设新部门 -裁撤现有部门 -维护部门信息 -维护工作室业务相关的技能信息 -维护各员工的业务技能掌握情况 2. 确定实体 接下来要确定的是,针对上述的高级别活动需要记录和维护有关哪些事物的信息,这些事物将被转换为实体。其中,员工相关信息可抽象为“Employee”实体、部门相关信息可抽象为“Department”实体、技能相关信息抽象为“Skill”实体,为规和方便起见,这些实体均采用英文命名,并尽量在名称中体现其含义。 3. 确定关系 进一步对上述高级活动进行分析,以确定实体间存在何种关系。具体包括: -Employee-Department实体之间存在隶属关系 员工必须且只能隶属于某一个特定的部门,一个部门可以包含0~多名员工,此为一对多关系。 这种从两个方向上对同一个关系的细化描述被称为关系的角色,每个关系都对应两种角色。

JAVAWEB数据库访问技术

JavaWeb数据库访问技术 JDBC是一种用于执行SQL语句的Java API。它由一组用Java编写的类和接口组成。 简单地说,JDBC可做三件事: ·与数据库建立连接 ·发送SQL语句 ·处理结果 一、JDBC的总体结构 在Java Application之下的是JDBC API,它提供了一系列的类代Java Application、JSP、Servlet等使用。 ·java.sql.DriverManager:用来加载不同的JDBC驱动程序并且为创建新的数据库连接提供支持。 ·java.sql.Connection:完成对某一指定数据库的连接功能。 ·java.sql.Statement:在一个已经创建的连接(java.sql.Connection)中作为执行SQL语句的容器;它包含了两个重要的子类。 1)java.sql.PreparedStatement:用于执行预编译的SQL语句。 2)java.sql.CallableStatement:用于执行数据库中已经创建好的存储过程。 ·java.sql.Result:代表特定SQL语句执行后的数据库结果集。

二、JDBC应用开发模式 在传统的客户端/服务器模式中,通常是在服务器商配置数据库,而在客户端安装内容丰富的GUI界面。在些模式中,JDBC驱动程序应该部署在客户端。 而在三层应用模式中,客户端不直接调用数据库,而是调用服务器上的中间件层,最后由中间件层完成数据库查询操作。 三层结构之优点:它将可视化表示(位于客户端)从业务逻辑(位于中间层)和原始数据(位于数据库)中分离出来。因此,我们可以从不同的客户端来访问相同的数据和相同的业务规则。

数据库应用系统开发

第五章数据库应用系统设计 本章将软件工程角度,介绍建立数据库应用系统的有关设计方法,主要包括数据库应用系统设计的总体规划、应用系统的需求分析、应用系统的总体设计以及实现等主要步骤的具体工作容。 5.1 数据库应用系统设计概述 在这一节中,我们将从三方面,简要介绍数据库应用系统(DBAS)设计的有关情况。这三方面分别是:一、成功开发数据库应用系统的关键;二、开发数据库应用系统的基本策略;三、开发数据库应用系统的基本步骤。 成功开发数据库应用系统的关键,有以下五条: ●能够为相关部门带来效益(有形、无形),具有很好性能价格比。 ●领导的热情支持,用户的积极参与,以及强有力的DBAS开发组织架构与管理 (解决多部门、多用户、多资源、多层次、多任务和多开发人员等相关问题)。 ●面向用户(参与全过程),目标明确(用户沟通),业务流程清楚明了(用 户意见)。 ●严格按设计规章办事(多阶段、多策略),实行标准化文档要求(阶段性成 果描述)。 ●充分考虑变化的情况(各设计阶段),主要有:部门部的变化和外界环境的 变化。 开发数据库应用系统的基本策略,有以下二条: ●自上而下 ●自下而上 通常是二者结合,即自上而下规划设计,自下而上设计实施。此外还有原型法和面向对象方法等。 开发数据库应用系统的主要步骤,有以下五步: ●系统总体规划,对部门(企业)外部情况进行初步调查,提出可行性报告(开 题报告)。 ●系统需求分析,对部门(企业)外部情况进行详细调查,搞清原系统的工作 情况(输入、处理和输出情况),以及对新系统的功能要求(输入、处理和 输出情况),提出DBAS的逻辑模型(数据模型设计和主要业务处理流程)。 ●系统应用设计,根据系统分析结果,完成各功能模块的设计,设计规标准(如 代码、命名等)的确立,数据库各表的具体设计,以及物理配制方案的制订 (硬件、软件和网络等)。 ●系统应用实现,根据系统应用设计的结果,完成系统的编码和测试,以及硬 件的安装与调试,以及新旧系统转换、系统运行维护等。 ●系统评价,对系统运行所带来的效益,进行评估。

Oracle 数据库 常用命令

SPOOL将屏幕所有的输出输出到指定文件 -- spool 文件路径名; spool g:\mysql.sql; --业务操作 --结束输出 spool off; 执行一个SQL脚本文件 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 --start file_name -- @ file_name start g:\mysql.sql; @ g:\mysql.sql; 对当前的输入进行编辑 edit ed 重新运行上一次运行的sql语句 / 显示一个表的结构 desc table_name ; 清屏 clear screen; 退出 exit; 置当前session是否对修改的数据进行自动提交 --SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n} set autocommit on; 在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句 -- SET ECHO {ON|OFF}; set echo on; 是否显示当前sql语句查询或修改的行数 --SET FEED[BACK] {6|n|ON|OFF}

-- 默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数 set feedback 1; 是否显示列标题 --当set heading off 时,在每页的上面不显示列标题,而是以空白行代替 --SET HEA[DING] {ON|OFF} set heading on; 设置一行可以容纳的字符数 -- 如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示 --SET LIN[ESIZE] {80|n} set linesize 100; 设置页与页之间的分隔 -- SET NEWP[AGE] {1|n|NONE} --当set newpage 0 时,会在每页的开头有一个小的黑方框。 --当set newpage n 时,会在页和页之间隔着n个空行。 --当set newpage none 时,会在页和页之间没有任何间隔 set newpage 1; 设置一页有多少行数 --如果设为0,则所有的输出内容为一页并且不显示列标题 --SET PAGES[IZE] {24|n} set pagesize 20; 是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。 --SET SERVEROUT[PUT] {ON|OFF} set serveroutput on; 是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。 --在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,--设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度 --SET TERM[OUT] {ON|OFF} set termout off; 在dos里连接oracle数据库 CONNECT user_name/passwd@l_jiayou

数据库应用系统实例

淮海工学院计算机工程学院实验报告书 课程名:数据库原理及应用 题目:实验七数据库应用系统实例 班级:D计算机081 学号: 姓名:

一、实验目的 开发学生学籍管理系统小型数据库应用系统数据库连接、数据操程作序编写,熟练使用Microsoft Visual Studio 2005开发平台。 二、实验内容和要求 1.后台为SQL server2000, 2.前台为面向对象编程语言(可选择) 3.完成数据库连接 4.完成对前面实验所建立的studb109学籍数据库中的数据通过应用系统界面进行更新和查询等操作。 三、实验步骤和实验结果 1.连接SQL Server的数据库访问编程实例。编写一个应用程序来连接数据库名为studb109的SQL Sever数据库,并根据连接结果输出一些信息。 (1).运行Microsoft V isual Studio 2005 (2).新建网站

(3).设计网站 using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; namespace web { public partial class_Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e){} protected void Button1_Click(object sender, EventArgs e) {try {SqlConnection coon = new SqlConnection(); coon .ConnectionString =" Server =localhost; uid = sa;pwd=; database=studb109"; coon .Open (); Label1 .Text ="连接成功"; } catch { Label1 .Text ="连接失败"; }}}}

基于WEB的数据库访问技术

基于WEB的数据库访问技术 【摘要】基于WEB的数据库访问技术,在各具体业务应用与底层用户数据库间建立一种可扩展、可移植,具有较强伸缩性的统一的对外接口,以有效地支撑业务网络应用。 【关键词】WEB;数据库访问技术 1.引言 在三层C/S中应用程序访问数据库服务器都需要一定的数据访问技术的支持。从总体上数据访问技术可以分为数据访问接口和数据访问对象两部分,两者之间的关系如图1所示。 图1 数据访问技术关系图 数据访问接口:提供一组标准化接口(数据库引擎),允许应用程序访问不同类型的数据库管理系统。如ODBC,JDBC,OLE DB等;数据访问对象:提供用于通过数据库访问接口访问数据库管理系统的通用标准对象,不受应用程序开发语言的限制,实现对数据库的连接、增加、删除和查询等操作。如常见的有DAO,RDO,ADO,https://www.sodocs.net/doc/6c18772460.html,等对象模型。在数据访问技术研究初期,不同的数据库厂商都会提供不同的数据访问接口,开发人员需要针对不同的数据库管理系统(DBMS)学习不同的专用数据库访问技术,比如DB2系统的CLI Library、Oracle 的OCI Library等。这对开发人员造成了极大的困惑,使得数据库应用程序的开发很困难,影响开发进度;而且所开发的应用程序局限性很大,严重依赖于数据库平台,不利于应用程序的跨数据库平台移植。 2.通用基于WEB数据库访问技术 信息化时代,网络和信息管理高速发展,数据库技术日臻成熟,功能日趋完善,而网络和数据库之间的关联与应用日益紧密,用户对信息的要求随之也要达到高标准的实时性与交互性,因此WEB服务器与数据库技术的结合显得格外重要。数据库访问中间件技术出现一改传统两层结构,采取C/S三层结构,充分发挥了WEB技术和数据库技术二者结合的综合优势与潜力,提高了性能、访问效率和安全性。常见的基于WEB的数据库访问技术分为以下几种: 2.1 CGI技术 CGI即通用网关接口,是Web服务器与应用程序交互传递信息的一种标准接口。CGI的工作原理是客户端浏览器通过URL向Web服务器提出请求,服务器的守护进程将此请求传给相应CGI程序进行处理,然后CGI将处理结果返回客户端浏览器。CGI优点:通用性强,基本支持所有HTTP服务器,交互能力强,跨平台性能极佳,操作简单灵活。CGI缺点:应用程序通常独立执行,客户共享

ORACLE数据库日常维护手册(最全+最实用)

ORACLE 日常维护手册 查看数据库版本 SELECT*FROM V$VERSION; 查看数据库语言环境 SELECT USERENV('LANGUAGE')FROM DUAL; 查看ORACLE实例状态 SELECT INSTANCE_NAME,HOST_NAME,STARTUP_TIME,STATUS,DATABASE_STATUS FROM V$INSTANCE; 查看ORACLE监听状态 lsnrctl status 查看数据库归档模式 SELECT NAME,LOG_MODE,OPEN_MODE FROM V$DATABASE; 查看回收站中对象 SELECT OBJECT_NAME,ORIGINAL_NAME,TYPE FROM RECYCLEBIN; 清空回收站中对象 PURGE RECYCLEBIN; 还原回收站中的对象 FLASHBACK TABLE"BIN$GOZUQZ6GS222JZDCCTFLHQ==$0" TO BEFORE DROP RENAME TO TEST;

闪回误删除的表 FLASHBACK TABLE AAA TO BEFORE DROP; 闪回表中记录到某一时间点 ALTER TABLE TEST ENABLE ROW MOVEMENT; FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2009-10-15 21:17:47','YYYY-MM-DD HH24:MI:SS'); 查看当前会话 SELECT SID,SERIAL#,USERNAME,PROGRAM,MACHINE,STATUS FROM V$SESSION; 查看DDL锁 SELECT* FROM DBA_DDL_LOCKS WHERE OWNER ='FWYANG'; 检查等待事件 SELECT SID, https://www.sodocs.net/doc/6c18772460.html,ERNAME, EVENT, WAIT_CLASS, T1.SQL_TEXT FROM V$SESSION A, V$SQLAREA T1 WHERE WAIT_CLASS <>'Idle' AND A.SQL_ID = T1.SQL_ID; 检查数据文件状态 SELECT FILE_NAME,STATUS FROM DBA_DATA_FILES; 检查表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB -F.TOTAL_BYTES)/D.TOT_GROOTTE_MB *100, 2), '990.99') "使用比", F.TOTAL_BYTES "空闲空间(M)",

Oracle数据库语句大全

Oracle数据库语句大全 一.入门部分 1.创建表空间 create tablespace schooltbs datafile ‘D:\oracle\datasource\schooltbs.dbf’ size 10M autoextend on; 2.删除表空间 drop tablespace schooltbs[including contents and datafiles]; 3.查询表空间基本信息 select *||tablespace_name from DBA_TABLESPACES; 4.创建用户 create user lihua identified by lihua default tablespace schooltbs temporary tablespace temp; 5.更改用户 alter user lihua identified by 123 default tablespace users; 6.锁定用户 alter user lihua account lock|unlock; 7.删除用户 drop user lihua cascade;--删除用户模式 8.oracle数据库中的角色 connect,dba,select_catalog_role,delete_catalog_role,execute_catalo g_role,exp_full_database,imp_full_database,resource 9.授予连接服务器的角色 grant connect to lihua; 10.授予使用表空间的角色 grant resource to lihua with grant option;--该用户也有授权的权限 11.授予操作表的权限 grant select,insert on user_tbl to scott;--当前用户 grant delete,update on https://www.sodocs.net/doc/6c18772460.html,er_tbl to scott;--系统管理员 二.SQL查询和SQL函数 1.SQl支持的命令: 数据定义语言(DDL):create,alter,drop 数据操纵语言(DML):insert,delete,update,select 数据控制语言(DCL):grant,revoke 事务控制语言(TCL):commit,savepoint,rollback 2.Oracle数据类型 字符,数值,日期,RAW,LOB 字符型 char:1-2000字节的定长字符

数据库应用系统案例库

数据库系统概论应用案例集 案例1. 上海世博会志愿者信息管理系统 需求简述: 1、实现对志愿者信息的管理; 2、实现对国家场馆的管理; 3、实现每个场馆与对应不同志愿者的分配管理; 4、实现志愿者和场馆信息的快速查询统计功能; 案例2. 图书馆图书检索系统 需求简述: 1、实现图书的基本信息管理; 2、实现书架信息的基本管理; 3、实现图书在图书馆中对应书架的存放位置管理; 4、实现对图书的快速检索功能; 案例3. 车票查询系统 需求简述: 1、实现车票基本信息的管理; 2、实现车票购买功能; 3、实现车票信息的检索功能; 4、实现车票销售的统计功能;

案例4. 公交线路查询系统 需求简述: 1、实现公交信息的基本管理; 2、实现公交站点的管理功能; 3、实现公交线路的快速查询功能; 案例5.和谐班级综合评定系统 需求简述: 1、班级信息的基本管理; 2、各类奖项信息的基本管理; 3、和谐班级奖惩管理; 4、和谐班级最终得分的查询和统计功能; 案例6. 快递公司收发货信息管理系统 需求简述: 1、地址信息的基本管理; 2、发货管理; 3、收货管理; 4、货单检索功能; 5、收发货统计功能; 案例7. 奥运会售票系统 需求简述: 1、实现比赛场馆信息(如位置信息)的管理;

2、实现对应赛场票务数据的管理; 3、实现系统售票功能; 4、实现票务查询统计功能; 案例8.简单新闻管理系统 需求简介 1、实现新闻类别的管理; 2、实现新闻内容的管理; 3、实现新闻查询功能; 案例9.员工管理系统 需求简介 1、实现部门管理功能; 2、实现员工基本信息的添加、删除、修改; 3、实现员工检索功能; 案例10.供应商管理系统 需求简介 1、实现供应商类别管理; 2、实现供应商信息管理; 3、实现供应商查询功能; 案例11.商品信息管理系统 需求简介

Oracle数据库常用的Sql语句

Oracle数据库常用的Sql语句 今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案. select table_name from all_tables;//所有的表明 select table_name from user_all_tables;//用户的所有的表 一下是转贴的sql语句的帖子. select * from user_objects; //查询所有的表 select * from dba_tables; //查询所有的表 select * from all_tables; //查询所有的表 select * from user_users //查出一个用户 select * from all_users //查询所有用户 select * from dba_users //查询所有用户 select name,dbid from v$database; //查询数据库名和它的ID select * from https://www.sodocs.net/doc/6c18772460.html,er_tab_columns; //查询表名,并显示列名 describe 表名//查询表结构 2: 查询数据库参数 show parameter db; 3:查询数据库的实例名 select instance_name from v$instance; 4: 数据库域名 数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用select value from v$parameter where name='db_domain' show parameter domain 5:数据库服务名 如果数据库有域名,则数据库服务名就是全局数据库名,如果该数据库没有定义域名,则数据库服务名与数据库名相同 show parameter service_name 6:显示当前用户 show user 7:直接登陆 sqlplus "/as sysdba" 8:当前ORACLE系统时间 select sysdate from dual; 9:查询数据库字典v$nls_parameter产看字符集相关参数 select * from v$nls_parameters; //************* oracle基本操作语句(适合初学者) oracle操作语句:

数据库应用系统的开发步骤

14.1 数据库应用系统的开发步骤 数据库应用系统的开发过程一般包括需求分析、系统初步设计、系统详细设计、编码、调试、系统切换等几个阶段,每阶段应提交相应的文档资料,包括《需求分析报告》、《系统初步设计报告》、《系统详细设计报告》、《系统测试大纲》、《系统测试报告》以及《操作使用说明书》等。但根据应用系统的规模和复杂程度在实际开发过程中往往有一些灵活处理,有时候把两个甚至三个过程合并进行,不一定完全刻板地遵守这样的过程,产生这样多的文档资料,但是不管所开发的应用系统的复杂程度如何,需求分析、系统设计、编码-调试-修改这一个基本过程是不可缺少的。 1.需求分析 这一阶段的基本任务简单说来有两个,一是摸清现状,二是理清将要开发的目标系统应该具有哪些功能。具体说来,摸清现状就要做深入细致的调查研究、摸清人们现在完成任务所依据的数据(使用了什么台帐、报表、凭证)及其联系、使用什么规则(上级有什么法律和政策规定、本单位或地方有哪些规定、以及有哪些得到公认的规则等)、对这些数据进行什么样的加工、加工结果以什么形式(报表、工作任务单、台帐、图表等)表现;理清目标系统的功能就是要明确说明系统将要实现的功能,也就是明确说明目标系统将能够对人们提供哪些支持。需求分析完成后,应撰写《需求分析报告》并请项目委托单位签字认可,以作为下阶段开发方和委托方共同合作的一个依据。 2.系统设计 在明确了现状与目标后,还不能马上就进入程序设计(编码)的阶段,还要对系统的一些问题进行规划和设计,这些问题包括:设计工具和系统支撑环境的选择(选择哪种数据库、哪几种开发工具、支撑目标系统运行的软硬件及网络环境等)、怎样组织数据也就是数据库的设计(即设计表的结构、字段约束关系、字段间的约束关系、表间约束关系、表的索引等)、系统界面的设计(菜单、表单等)、系统功能模块的设计、对一些较为复杂的功能,还应该进行算法设计。 3.系统实现(编码、调试) 一阶段的工作任务比较明确了,就是依据前两个阶段的工作,具体建立数据库和数据表,定义各种约束,并录入部分数据;具体设计系统菜单、系统表单、定义表单上的各种控制对象、编写对象对不同事件的响应代码、编写报表和查询等。 4.测试 测试阶段的任务就是验证系统设计与实现阶段中所完成的功能能否稳定准确地运行、这些功能是否全面地覆盖并正确地完成了委托方的需求,从而确认系统是否可以交付运行。测试工作一般由项目委托方或由项目委托方指定第三方进行。在系统实现阶段,一般说来设计人员会进行一些测试工作,但这是由设计人员自己进行的一种局部的验证工作,重点是检测程序有无逻辑错误,与前面所讲的系统测试在测试目的、方法及全面性来讲还是有很大的差别的。 5.系统交付 这一阶段的工作主要有两个方面,一是全部文档的整理交付,二是对所完成的软件(数据、程序等)打包并形成发行版本,使用户在满足系统所要求的支撑环境的任一台计算机上

Oracle数据库SQLPLUS中几个常用set语句

Oracle数据库SQLPLUS中几个常用set语句 在大家写脚本的时候,我们常常用set语句在设置一些需要的格式规范。下面,列举了几个常见set语句的应用。 SQL> set echo on—————————————————设置运行命令是是否显示语句 SQL> set feedback on———————————————-设置显示“已选择XX行” SQL> set colsep | —————————————————设置列与列之间的分割符号 SQL> set pagesize 10———————————————–设置每一页的行数 SQL> SET SERVEROUTPUT ON——————————-设置允许显示输出类似dbms_output.putline SQL> set heading on————————————————设置显示列名 SQL> set timing on————————————————–设置显示“已用时间:XXXX” SQL> set time on—————————————————–设置显示当前时间 SQL> set autotrace on———————————————–设置允许对执行的sql进行分析00:38:28 SQL> set echo on 00:38:37 SQL> @E:echo.sql 00:38:41 SQL> select status from v$datafile where rownum<6;

STA TUS ------- SYSTEM ONLINE ONLINE ONLINE ONLINE 已选择5行。 已用时间: 00: 00: 01.08 00:38:43 SQL> set echo off 00:38:58 SQL> @E:echo.sql STA TUS ——- SYSTEM ONLINE

数据库应用系统开发课程设计

数据库应用系统开发课程设计

————————————————————————————————作者: ————————————————————————————————日期:

北京理工大学珠海学院 《数据库应用系统开发课程设计》教学大纲 课程编号:02119830 课程名称:数据库应用系统开发课程设计Database Application System Development Course Design 学分: 2 学时: 32 一、目的与任务 《数据库应用系统开发课程设计》课程设计实验是一门独立开设的实验课程。《数据库应用系统开发课程设计》课程设计实验对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。本课程设计实验主要围绕两方面内容:数据库设计和基本C/S结构或者B/S结构数据库编程实践。通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。 1.掌握数据库设计的基本方法,熟悉数据库设计的步骤; 2. 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力; 3. 学习基于“C/S结构或者B/S结构”数据库应用程序的编程方法。 二、实践教学内容及学时分配 本课程设计要求每个学生各自独立完成一个完整的数据库应用系统的数据库设计过程。第一次实验课前,任课老师向每个学生分配课程设计题目,讲解课程设计的题目要求和注意事项,并要求学生根据题目要求进行数据库的逻辑设计和物理设计,并在具体的数据库管理系统上创建好数据库,创建相关的对象,完成课程设计报告。实验进行过程中,指导教师给予适当指导,解决学生在数据库设计中遇到的问题。 要求学生能够使用现在流行的DBMS或数据库开发工具进行数据库管理操作(如建库、建立完整性约束,对数据库中数据进行查询,更改等操作)的方法;同时,会开发出有相当完善功能并有一定规模的数据库应用系统,通过实习对SQL语言要有较深入的了解和掌握,对数据库的管理(主要是安全性方面)要有一定程度的了解。 每个学生可从若干课题中选择一个自己感兴趣的题目进行,但必须独立完成,不能互相抄袭。课程设计结束后,要求学生写出一份详细的课程设计报告。总结课程设计的问题和经验,将所完成的系统演示给老师看,并由指导老师进行答辩。 数据库系统应用软件开发设计课程设计的题目将从以下12道题目目中为每个学生指定一道题。

相关主题