数据库-第三章测试

1、什么是SQL?
结构化查询语言。
2、数据库模式?
在这里插入图片描述
3、SQL的数据定义功能包括?
在这里插入图片描述
4、一个模式下通常包括?
一个模式下通 常包括多个表、视图和索引等数据库对象。

5、如何定义模式?
create schema 模式名 authorization 用户名;
为用户WANG定义一一个学生-课程模式S-T。
create schema authorization wang;
该语句没有指定<模式名>,所以<模式名>隐含为用户名WANG。

6、为用户ZHANG创建一个模式 TEST,并且在其中定义一个表 TAB1。
create schema test authorization zhang
create table(
col1 smallint,
col2 int,
col3 char(20),
);

7、如何删除模式?
drop schema zhang cascade;//cascade,删除模式并且将所有数据库对象全部删除。

8、如何定义表?
create table 表名
(
列名 类型 [列级完整性约束条件],
列名 类型,
[表级完整性约束条件]
);

9、学生表?
create table Student
(
Sno char(9) primary key,
Sname char(20) unique,
ssex char(2),
sage smallint,
sdept char(20)
);

10、课程表
create table Course
(
Cno char(4) primary key,
cname char(4) not null,
ccredit smallint,
Cpno char(4),
foreign key(cpno) references Course(Cno)
);

11、外码,用于一个表中的一列,指向另外一个表中的另外一列。
单个
create table t1
(
foreign key (id) references t2(id);
);

多个,起名字,会更加容易方便删除。
create table t1
(
constraint fk foreign key (id1,id2)
references t2(id1,id2);
ON DELETE CASCADE–级联删除
);

创建表后,增加外键约束。
alter table t1
add foreign key(id)
references t2(id);

删除有命名外键。
ALTER TABLE t1
DROP FOREIGN KEY fk;

12、选课表SC
create table sc
(
sno char(9),
cno char(4),
grade smallint,
primary key (sno,cno),//表级完整性定义
foreign key(sno) references student(sno),
);

13、用的比较多的数据类型有哪些?
int 长整数4字节
smallint 短整数2字节
varchar 最大长度为n的变长字符串
char 长度为n的定长字符串
date 日期,年月日
time 事件,时分秒
timestamp 时间戳

14、修改基本表
向Student表增加“入学时间”列,其数据类型为日期型。
alter table Student
add entran date;

将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。
alter table Student
alter column sage int;

增加课程名称必须取唯一值的约束条件。
ALTER TABLE Course ADD UNIQUE(Cname);

15、如何删除表?
drop table 表名 restrict | cascade;

16、有 restrict,cascade 有什么区别?
有 restrict,如果有视图、触发器则不能被删除。
有cascade ,如果有视图,则一起删除。

17、视图?
create view 视图名
as
select ssss;

18、如何建立索引?
Student表按学号升序建唯一索引,
create unique index stuno on student(Sno);

SC表按学号升序和课程号降序建唯一索引。
create unique index scno on sc(sno asc,cno desc);

create unique index 名 on 表(列);

19、修改索引、删除
alter index oldname rename to newname;
drop index name;
—————————————————————————————————————————————————————————————
3.4节数据查询

1、select语句一般格式?
select distinct col
from table
where
group by col1 having
order by col2 asc desc;

含义是?
从table表中找出符合where条件的元组,
如果有group by,则按照col1,进行分组,相同的为一组。如果有having,则符合条件才分为一组。
如果有order by,则按照col2,进行排序。

2、查询某列、查询全部。
select col
from t1;

select *
from t2;

select sage-2000
from stu;

3、确定集合
select sname
from table
where dept in (‘cs’);

4、字符匹配 like
什么是通配符?%_

%?代表任意长度。
a%b什么意思?
a开头,b结尾的字符串。

?代表单个字符。
查询所有姓刘的学生的姓名、学号和性别。
找欧阳,三个字的?
select name,no,sex
from stu
where name like ‘刘%’;
where name like '欧阳

5、转义字符 \
查询DB_Design 课程的课程号和学分
select cno,ccredit
from course
where col like ‘DB_Design’ escape’’’;

6、聚集函数
在这里插入图片描述
7、
查询学生总人数。
select count(*)
from stu;

查询选修了课程的学生人数。
一个人可以选修多门课程。
select count(distinct sno)
from sc;

计算选修了1号课程的学生的平均成绩。
select avg(grade)
from sc
where sno = ‘1’;

8、聚集函数不能用于where子句,能够用于select/group by 中的having。

9、求各个课程号及相应的选课人数。
select cno, count(sno)
from c
group by cno;

10、查询选修了三门以上课程的学生学号。
select sno
from stu
group by sno
having count(*)>3;
这里先用GROUP BY子句按Sno进行分组,再用聚集函数COUNT对每一组 计数;HAVING短语给出了选择组的条件,只有满足条件( 即元组个数>3,表示此学生选修的课超过3门)的组才会被选出来。

11、where和having 的区别?
where作用于基本表和试图。
having作用于(group by),从中选出满足条件的组。

12、查询平均成绩大于等于90分的学生学号和平均成绩。
select sno,avg(grade)
from stu
group by sno
having avg(grade)>90;

13、左外连接?
在内连接的基础上,还包含左表中所有不符合条件的数据行,并在其中的右表列填写NULL。关键字:left join … on。
——————
按照数据库机考复习:
1、mysql如何引入数据?
source e:\db2019\tradedbsq2.txt
2、展示数据库
show databases;
3、创建表
create table t1
(
sno char(10),
sname char(20),
ssex char(4),
phone char(11),
primary key(sno)
);

4、如何插入数据?
insert into t1 valuse();

5、如何添加外键?
alter table t1
add constraint fk foregin key()
references t2();

6、添加外键时,需要注意什么?
有一个必须是另外一个的主键。

7、级联更新、级联删除
alter table Products
add constraint fkk181110065 foreign key(CategoryID)
references Categories(CategoryID)
on update cascade
on delete cascade;

8、如何建立视图?
create view v1
as
正常查询

8、join t1 on 怎么用的?
求两个的交集。
select col
from t1
inner join t2
on t1.key=t2.key
where 条件;

——————

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 内容摘要 1 第一章 系统概述 2 1.1 问题的提出 2 1.2 现有系统存在问题的分析 2 1.3 系统开发目标 3 1.4 开发工具选择 3 1.4.1 Microsoft Visual Studio 2005简介 3 1.4.2 Microsoft SQL Server 2000简介 4 1.5 开发方法选择 4 1.6 开发本系统的意义 4 第二章 系统分析 5 2.1需求分析 5 2.2可行性分析 5 2.2.1 经济可行性 5 2.2.2 技术可行性 6 2.2.3 使用可行性 6 2.3 系统设计背景 6 2.4 系统的功能简介 6 2.5 系统开发的目标 6 2.6 业务流程分析 6 2.7 数据流程分析 9 2.8 数据存储分析 11 第三章 系统设计 13 3.1 系统功能设计 13 3.1.1 系统功能模块图 13 3.1.2数据流程图 13 3.2 数据库设计 14 3.2.1 数据库概念结构设计 15 3.2.3 数据库逻辑设计 19 第四章 测试 24 4.1测试概述 24 4.2系统测试举例 24 4.3测试结果 25 总 结 26 参考文献 28 内容摘要 本论文主要阐述了开发汽车销售管理系统的流程以及C#程序设计高级语言的概况。重 点介绍了开发汽车销售管理系统的实现过程:包括系统概述、 系统分析、 数据流程分析、功能设计、 数据库设计、 系统实现、 系统测试和调试,包括功能需求描述、数据库设计等内容。本系统主要功能有用户登录 系统、职工管理、入库管理、销售管理、库存管理、仓库管理、客户信息管理、系统用 户管理、汽车汇总等九个功能模块。 关键词:职工管理、入库管理、销售管理、库存管理、仓库管理、客户信息管理、系 统用户管理、汽车汇总、数据库。 轿车销售管理系统设计 第一章 系统概述 1.1 问题的提出 数据库是一门研究数据管理的技术,始于20世纪60年代,经过50多年的发展,现在已 经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数 据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越 来越大的作用。 随着时代的发展,信息管理系统对各行各业的发展都起着越来越重要的作用,尤其是 商品销售行业。在经济发达的地区,许多大型的汽车销售商店,销售公司,都投入了大 量的资金开发MIS系统,以求在将来激烈的竞争中立于不败之地。在我国,随着改革开放 和市场经济的发展,特别是十二五规划的今天,居民的消费水平逐渐提高,很多的家庭 也将会购买汽车,那么汽车在销售过程中的管理就不能仅仅只靠手工的记录,更应该结 合信息技术的支持。因此可见,随着我国经济的迅速发展,信息技术在其中的应用会更 加地广泛和深入。 1.2 现有系统存在问题的分析 有的销售公司根本就没有系统,对于二十一世纪的今天计算机的发展是日新月异的, 但是有的领导只见眼前利益,不关心,甚至不敢尝试新兴的事物。信息技术的应用还十 分落后。 所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改 为计算机的自动化系统。人工操作必将被计算机代替。 有些销售公司虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不 解决,效率就一日提不上去。 还有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统能有保障 吗?所以开发一个更加完善的系统是势在必行的。 1.3 系统开发目标 本系统是将现代化的计算机技术和传统的销售管理工作相结合,按照公司的工作流程 设计完成的。为了使系统在公司的管理中发挥更大的作用,实现工作过程的计算机化, 提高工作效率和工作质量,现提出如下的系统开发目标 1.系统应具有实用性、可靠性和适用性,同时注意到先进性。 2.对各个数据库进行动态管理,防止混乱。 3.能够按照用户选择的不同的条件进行简单查询和复合查询。 4.能够按照不同权限的用户分配刀不同的功能,保障数据库的安全性。 5.能够对销售额、仓库、入库的统计,方便管理者不必重复的计算和管理。 6.方便用户的操作,尽量减少用户的操作。 1.4 开发工具选择 1.4.1 Microsoft Visual Studio 2005简介 Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Servi

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值