首页 java面试 java面试(六) 一数据库

java面试(六) 一数据库

 数据库:   dbms:数据库管理系统,软件。 db:数据库系统(硬件+软件)。    数据发展的…

 数据库:

 

dbms:数据库管理系统,软件。

db:数据库系统(硬件+软件)。

 

 数据发展的四个阶段:

层次模型–>网状模型–>关系型–>面向对象数据库

 

 什么叫做E-R图:

实体关系图。

 

 怎么绘制E-R图:

概念模型–>物理模型–>sql导出。

 

学号 姓名  年纪
  1    白     18
  2    白2    28
  3    白3    38

 

键:可以标志1条记录的字段。

主键:从键中挑选中1个。

复合主键:主键由两个或两个以上字段组成。

 

金额 出厂年代  市值
   1分   53         5000
   1分   90         10
   1分   2000       1分
  (金额+年代)

 

 

 范式的作用?去除冗余。

 

范式1: 原子性。每个字段都不可再分。“地址” “地址及性别”。

范式2: 唯一性。表有主键,

范式3: 非主键间不存在依赖关系。

 

学号 姓名  班级编号  班级名
 1   白     s01       1年纪1班

 

 

 范式并不是越高越好:表的关联变多,费内存;丢失历史数据。

 

sql的英文全称:structured query language。结构化查询语言

ddl:创建/删除逻辑对象。create database;create table;drop .

DML:select /update/insert/delete/truncate

DCl:grant/revoke/deny

 

delete,drop,truncate的区别:

delete 删除where条件的记录。

drop :删除整个表结构,包含约束,日志,触发器。

truncate:截断表的所有数据,包含日志。但不删除表结构及约束,触发器。

 

如何写1条sql语句创建备份表?

select * from 表1 into 表2.
insert (select * from 表1) into 表2。

 

 

sql servler:
 写出5种约束的语句。
   alter Book
    add constraint PK_BOOK_BID  primary key(bid);
   alter Book
    add constraint UK_BOOK_BNAME unique(bname)  ;
   alter Book
    add constraint DF_BOOK_BNUM default '5' for BNUM  ;
   alter Book
   add constraint CK_BOOK_BNUM check(bnum>=0);
   alter book
   add constraint FK_BOOK_BTYPE_BTID foreign key(btid) references BOOKTYPE(BTID);

 

 

TSQL是什么:Transaction-SQL.微软对sql的增强语法。

go/if/while/begin end/

  declare @i int;
  while (1=1) then
  begin
    set @i = 1;
    set @i  = @i+1;
    if (i = 2) then
     break;
  end
  go;

 

go的作用是什么?标志批处理的结尾。create/DROP语句后一定要加go.

TSQL:从数据库中获取值赋给变量的方法

 

存储过程的作用:1 预编译–》提高执行速度 2 节省网络报文 3 将常用的sql操作模块化 4 安全。

 

存储过程两种返回值方法:return/出参.
出参返回:
create proc findAge
  @id int -- 入参
  @age int out--出参
as
begin
  select @age=age from Person where id=@id;
end;

return返回
create proc findAge
  @id int -- 入参
as
  declare @age int;
begin
  select @age=age from Person where id=@id;
  return @age;--只能返回整型
end;

 

 

 

 

 

如何调用存储过程(sql语句/jdbc中调用):

Exec 存储过程名 入参1,入参2.。
 jdbc:CallableStatement(专门调用存储过程的对象)
statement --基类(一般用来做查询)
PreparedStament--(预编译速度快,一般用来做修改和ddl)

 

 

视图的作用和限制(不能包含什么关键字):

a 让字段容易理解 b 安全 ,不能包含order by。最好只做查询。
 create view Person_VIEWS
asbegin
  select top 500 * from person;
end;

 

 

索引的作用和分类:提高查询 速度。唯一索引;非聚集索引,聚集索引(索引顺序与数据的物理顺序相同,只能1个)。

 

只能创建1个的索引是什么?

事务:数据库操作的逻辑最小单元,这些操作要么同时成功,要么同时失败。

四个特性:acid–原子性 一致性 隔离性(5种级别,最高是serial串行化,默认是read-commited)。 持久性。

两种事务:

隐式事务–只跑一条sql语句。

显式事务:begin transaction

rollback;

commmit;

 

触发器:
 事后触发:create triger XXX on 表名 for update.
需要调用rollback语句撤销原来行为。
 两张临时表inserted .deleted
 事前触发:create triger XXX on 表名 instead of update/delete/insert.
  无需调用rollback语句撤销原来行为。

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

jdbc和mybatis的区别

jdbc和mybatis的区别

jdbc和mybatis的区别 mybatis也是基于JDBC的。Java与数据库操作仅能通过JDBC完成。 mybat...
美团、58、百度、阿里面经(转)

美团、58、百度、阿里面经(转)

百度 一面: 自我介绍、 hashmap和hashtable区别、 对线程安全的理解、 讲讲web三大架构、 为什么要用...
软件测试工程师-面试题

软件测试工程师-面试题

  1、什么是软件测试?2’ 2、软件测试与软件质量保证的区别。10’ 3、报告软件缺陷时,测试人员要对软件缺...
spring面试集合

spring面试集合

问题清单: 什么是Spring框架?Spring框架有哪些主要模块? 使用Spring框架有什么好处? 什么是控制反转(...
Java中的注解是如何工作的?

Java中的注解是如何工作的?

自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如...
返回顶部