什么是锁?
答: 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。
加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制, 在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。
基本锁类型:锁包括行级锁和表级锁
什么叫视图?游标是什么?
答: 视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查, 操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易, 相比多表查询。
游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。
一般不使用游标,但是需要逐条处理数据的时候, 游标显得十分重要。
什么是存储过程?用什么来调用?
答: 存储过程是一个预编译的SQL 语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL 语句执行要快。可以用一个命令对象来调用存储过程。
什么是基本表?什么是视图?
答:基本表是本身独立存在的表,在SQL 中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中, 是一个虚表
试述视图的优点?
答:
(1) 视图能够简化用户的操作
(2) 视图使用户能以多种角度看待同一数据;
(3) 视图为数据库提供了一定程度的逻辑独立性;
(4) 视图能够对机密数据提供安全保护。
NULL 是什么意思
答: NULL 这个值表示UNKNOWN(未知):它不表示“” (空字符串)。对NULL 这个值的任何比较都会生产一个NULL 值。您不能把任何值与一个NULL 值进行比较, 并在逻辑上希望获得一个答案。
使用IS NULL 来进行NULL 判断
你可以用什么来确保表格里的字段只接受特定范围里的值?
答: Check 限制,它在数据库表格里被定义,用来限制输入该列的值。
触发器也可以被用来限制数据库表格里的字段能够接受的值,但是这种办法要求触发器在表格里被定义,这可能会在某些情况下影响到性能。