现在的位置: 首页 > 综合 > 正文

学生信息管理系统之数据库语句解析

2012年08月04日 ⁄ 综合 ⁄ 共 1508字 ⁄ 字号 评论关闭
    学生信息管理系统的数据库创建的语句基本只有三种: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:

collate是什么意思?

        collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。
语法为:

    collate_name是应用于表达式列定义或数据库定义的排序规则的名称,collation_name 可以只是指定的 Windows_collation_name 或SQL_collation_name,前者是Windows 排序规则的排序规则名称参见 Windows 排序规则
名称,而SQL_collation_name是SQL 排序规则的排序规则名称参见 SQL 排序规则名称

问题2:

Chinese_PRC_CS_AI_WS又是什么呢?
     前半部份:指UNICOADE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则

     排序规则的后半部份即后缀含义:
             _BIN 二进制排序

             _CI(CS) 是否区分大小写,CI不区分,CS区分
                          区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项        

             _AI(AS) 是否区分重音,AI不区分,AS区分
                         区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项如果选择该选项,比较还                             将重音不同的字母视为不等

            _KI(KS) 是否区分假名类型,KI不区分,KS区分
                         区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项

            _WI(WS) 是否区分宽度 WI不区分,WS
                         区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项
       



       

抱歉!评论已关闭.