日期:2014-05-16  浏览次数:20457 次

学生信息管理系统之数据库语句解析
    学生信息管理系统的数据库创建的语句基本只有三种:select选择语句、create创建语句、drop删除语句。
下面这些是对学生信息管理系统的数据库中的一些语句的理解:

分析语句一

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[user_info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

问题1:

object_id函数如何理解?N是什么意思?
OBJECT_ID:返回数据库对象标识号。
N:是显式的将非unicode字符转成unicode字符,它来自 SQL-92 标准中的 National(Unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(user_info)。

问题2:

OBJECTPROPERTY(id, N'IsUserTable') = 1中的OBJECTPROPERTY函数是什么意思?=1又是什么意思?
      OBJECTPROPERTY:返回当前数据库中对象的有关信息。
      1:表“真”。同样可以写成OBJECTPROPERTY(id, isUserTable) = 1。 整条语句的意思是判断数据库里有没 有存在user_info这样一张表。 

问题3:

dbo.sysobjects是什么?
      dbo.sysobjects:网上一般说是一张系统表,其实,这是一张视图。每个数据库都会有这么一张视图,我们可以方便的从这里面找出该数据库的相关信息。同样dbo.sysdatabases在系统视图中也能找到。


分析语句二:

create table [dbo].[User_Info](
[User_ID][char](10)COLLATE Chinese_PRC_CI_AS NOT NULL ,
)on [PRIMARY]
Go

问题1: