数据库相关知识

简介:

1、数据库是一个结构化的数据集合;


2、数据环境是对象,关系是数据环境中的对象;


3、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是:需求分析


4、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是:需求分析


5、在表结构中,逻辑型、日期型、备注型字段的宽度分别固定为:184


6、数据库系统的三级模式分别为:概念级模式、内部级模式与外部级模式。


7、关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除和修改四种操作。


8、下列函数中函数值为字符型的是___B___。 

        ADATE() BTIME() CYEAR() DDATETIME()


9、索引类似于书的目录,主要用于提高查询效率,也就是按条件查询的时候,先查询索引,再通过索引找到相关的数据,索引相当于记录了对某个关键词,指定到不同的文件,或者文件里的不同位置的结构;

    索引会降低数据更新的效率,当插入、修改、删除时会引起索引结构的更新。


10、游标用于定位结果集的行。通过判断全局变量@@FETCH_STATUS可以判断其是否到了最后。通常此变量不等于0表示出错或到了最后。


11、用一条SQL语句 查询出每门课都大于80分的学生姓名  

name   kecheng   score 
张三     语文           81
张三     数学           75
李四     语文           76
李四     数学           90
王五     语文           81
王五     数学           100
王五     英语           90

解答:select distinct name 

              from score  

              where  name not in (select distinct name from score where score<=80)


12、

?
1
2
3
select  S.S#, SNAME
from  S, SC
where  S.S# = SC.S#  AND  C# =  'C2' ;

这个语句执行时,要先对from 后的基本表S 和SC 做笛卡尔积操作,然后再做等值连接(S.S# = SC.S#)、选择(C# = 'C2')和投影等操作。由于S# 在S 和SC 中都出现,因此引用时需要注上基本表名,如S.S#、SC.S# 等。


13、字符串的匹配操作中,通配符

百分号(%)表示与零个或多个字符组成的字符串匹配;

下划线(_)表示与单个字符匹配。

?
1
2
3
4
--查询姓“李”的老师的个数; 
   select  count ( distinct (Tname)) 
   from  Teacher 
   where  Tname  like  '李%' ;          --条件表达式中字符串的匹配操作符是like


14、关键码(key,键)由一个或多个属性组成。

       主键(primary key):用户选作元组标识的候选键称为主键。一般如不加说明,键是指主键。

       外键(foreign key):如果模式R中属性K是其他模式的主键,那么K在模式R中称为外键。

       超键(super key):在关系中能唯一标识元组的属性或属性集称为关系模式的超键。

       候选键(candidate key):不含有多余属性的超键称为候选键。也就是在候选键中,如再删除属性,就不是键了。


15、 (1)数据库系统由五部分组成:硬件、数据库集合、数据库管理系统及相关软件、数据库管理员(DBA)、用户

DBS包括DB和DBMS);

        (2)DBMS是位于用户和操作系统之间的数据库管理系统,是属于OS(Operation System )支持下的系统文件;

        (3)关系模型中的“关系”是指具有相关性,但非从属性的平行的数据之间按照某种序列排列的集合关系;

        (4)关系数据库中所谓的“关系”是指:数据库模型符合一定条件的二维表格式;

        (5)记录:表中的每一行称为一条记录,也称元组

                字段:二维表中的一列

                数据项:也称为分量,是每个记录中的一个字段值

                字段的值域:字段的取值范围,也称为属性

        (6)在Access中,一般关系都为一对多的关系;

        






经典例题:

Student(S#,Sname,Sage,Ssex)   学生表       

S#:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别

 

Course(C#,Cname,T#)     课程表                    

C#,课程编号;Cname:课程名字;T#:教师编号

 

SC(S#,C#,score)      成绩表                             

S#:学号;C#,课程编号;score:成绩

 

Teacher(T#,Tname)     教师表                        

T#:教师编号; Tname:教师名字


1、查询平均成绩大于60分的同学的学号和平均成绩; 

?
1
2
3
     select  S#, avg (score) 
     from  sc 
     group  by  S#  having  avg (score) >60;


2、查询姓“李”的老师的个数; 

?
1
2
3
   select  count ( distinct (Tname)) 
   from  Teacher 
   where  Tname  like  '李%' ;


3、查询没学过“叶平”老师课的同学的学号、姓名; 

?
1
2
3
     select  Student.S#,Student.Sname 
     from  Student  
     where  S#  not  in  ( select  distinct ( SC.S#)  from  SC,Course,Teacher  where   SC.C#=Course.C#  and  Teacher.T#=Course.T#  and  Teacher.Tname= '叶平' );


4、查询所有课程成绩小于60分的同学的学号、姓名; 

?
1
2
3
   select  S#,Sname 
   from  Student 
   where  S#  not  in  ( select  Student.S#  from  Student,SC  where  S.S#=SC.S#  and  score>60);


5、删除学习“叶平”老师课的SC表记录; 

?
1
2
3
     Delect SC 
     from  course ,Teacher  
     where  Course.C#=SC.C#  and  Course.T#= Teacher.T#  and  Tname= '叶平' ;


6、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名; 

?
1
2
     select  S#  from  SC  where  C#  in  ( select  C#  from  SC  where  S#= '1002'
     group  by  S#  having  count (*)=( select  count (*)  from  SC  where  S#= '1002' );


7、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩; 

?
1
2
3
     update  SC  set  score=( select  avg (SC_2.score) 
     from  SC SC_2 
     where  SC_2.C#=SC.C# )  from  Course,Teacher  where  Course.C#=SC.C#  and  Course.T#=Teacher.T#  and  Teacher.Tname= '叶平' );

目录
相关文章
|
7月前
|
关系型数据库 Linux BI
数据库的一些知识
数据库的一些知识
28 0
|
2月前
|
存储 NoSQL 关系型数据库
数据库
数据库
77 5
|
6月前
|
存储 缓存 关系型数据库
2、数据库相关
2、数据库相关
31 0
|
9月前
|
存储 SQL 安全
一、如何快速掌握数据库
一、如何快速掌握数据库
86 0
|
9月前
|
存储 消息中间件 NoSQL
数据库常识课
数据库常识课
50 0
|
10月前
|
SQL 数据库
数据库知识与技巧日常汇总
数据库知识与技巧日常汇总
77 0
|
10月前
|
关系型数据库 MySQL 数据库
|
10月前
|
Oracle 关系型数据库 数据库
初识数据库
初识数据库
|
10月前
|
SQL 数据库
【数据库视频】总结
【数据库视频】总结
69 0
【数据库视频】总结
|
12月前
|
存储 SQL Oracle
数据库(一)
数据库(一)
51 0