数据库《数据库的安全与权限》实验报告优质资料_第1页
数据库《数据库的安全与权限》实验报告优质资料_第2页
数据库《数据库的安全与权限》实验报告优质资料_第3页
数据库《数据库的安全与权限》实验报告优质资料_第4页
数据库《数据库的安全与权限》实验报告优质资料_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库《数据库的安全与权限》实验报告优质资料(可以直接使用,可编辑优质资料,欢迎下载)

xx大学计算机与信息技术学院数据库《数据库的安全与权限》实验报告优质资料(可以直接使用,可编辑优质资料,欢迎下载)实验报告姓名学号专业班级课程名称数据库系统概论实验日期成绩指导教师批改日期实验名称数据库的安全与权限实验内容[目的和意义]•理解SQLServer身份验证模式•学会创建和管理登录帐户和用户帐户;•学会创建和管理服务器角色和数据库角色•学会授予、拒绝和撤销权限的方法[实验内容]•设置验证模式,熟悉系统登录验证过程。•登录管理•用户管理•角色管理•权限管理[实现步骤]•SQLServer的安全管理假若你是SQLServer2005数据库服务器的管理员,服务器中包含7个用户数据库,它们为学校的多个部门应用程序提供数据,每个部门的用户维护自己的数据库,你需要配置服务器和数据库许可权限,让每个维护自己数据库的用户有足够的权限来管理数据库。你该怎么做呢?你需要为每个用户创建一个账户,把每个账户映射到它们的数据库中,添加所有的用户账户到自己的数据库中的db_owner角色中去。一、两个安全性阶段在SQLServer2005中工作时,用户要经过两个安全性阶段:身份验证和权限验证(授权)。每个用户必须通过登录账户建立自己的连接能力(身份验证),以获得对SQLServer2005实例的访问权限。然后,该登录必须映射到用于控制在数据库中所执行的活动(权限验证)的SQLServer用户账户。如果数据库中没有用户账户,则即使用户能够连接到SQLServer实例,也无法访问数据库。二、两种安全验证模式SQLServer提供了两种安全验证模式,即Windows身份验证模式和混合身份验证模式(也称SQLServer身份验证模式),数据库设计者和数据库管理员可以根据实际情况进行选择。1、Windows身份验证模式Windows身份验证模式是指用户通过Windows用户账户连接到SQLServer,即用户身份由Windows系统来验证。SQLServer使用Windows操作系统中的信息验证账户名和密码。这是默认的身份验证模式,比混合验证模式安全得多。一般情况下,客户机都支持混合信任连接,建议使用Windows身份验证方式。使用Windows身份验证有如下特点。(1)Windows验证模式下由Windows管理登录账户,数据库管理员主要是使用该账户。(2)Windows有功能很强的工具与技术去管理用户的登录账户。(3)可以在SQLServer中增加用户组,可以使用用户组。2、混合身份验证模式(也称SQLServer身份验证模式)混合身份验证模式允许用户使用Windows身份和SQLServer身份进行连接。通过Windows登录账户连接的用户可以使用Windows验证的受信任连接。当用户使用指定的登录名称和密码进行非信任连接时,SQLServer检测输入的登录名和密码是否与系统表syslogins中记录的情况相同,据此进行身份验证。如果不存在该用户的登录账户,则身份验证失败。用户只有提供正确的登录名和密码,才能通过SQLServer的验证。提供SQLServer身份验证是为了考虑非Windows客户兼容及向后兼容,早期SQLServer的应用程序可能要求使用SQLServer登录和密码。当SQLServer实例在Windows98/Windows2000professional上运行时,由于Windows98/Windows2000professional不支持Windows身份验证模式,必须使用混合模式。非Windows客户端也必须使用SQLServer身份验证。混合身份验证模式有如下特点。(1)混合模式允许非Windows客户、Internet客户和混合的客户组连接到SQLServer中。(2)增加了完全性方面的选择。如果必须选择“混合身份验证模式”并要求使用SQL登录以适应旧式应用程序,则必须为所有SQL账户设置强密码。这对于属于sysadmin角色的账户(特别是sa账户)尤其重要。3、设置验证模式安装SQLServer2005默认的是Windows身份验证模式。系统管理员在managementstudio中有两种设置方法(参看实验指导),均需要重新启动SQLServer后,才能生效。三、登录管理1、系统管理员登录账户SQLServer有两个默认的系统管理员登录账户:sa和administrators。这两个登录账户具有SQLServer系统和所有数据库的全部权限。在安装SQLServer之后,自动创建的登录标识符只有系统管理员sa账户和administrators账户,administrators是Windows系统的系统管理员组。sa是一个特殊的登录名,它代表SQLServer身份验证机制下SQLServer的系统管理员,sa始终关联dbo(dbo是默认的用户账号,就是指数据库的创建者)数据库用户,并且没有为sa指定口令。这意味着如果SQLServer身份验证模式,任何得知这个SQLServer存在的人都可以登录到SQLServer上,并且可以做任意操作。为安全起见,在安装SQLServer后,应尽快地给系统管理员账户指定口令。为SQLServer系统管理员指定口令的步骤如下。(1)在“对象资源管理器”窗口中某数据库引擎下。(2)分别展开“安全性”、“登录名”节点,查看所有当前存在的登录标示符,系统管理员账户sa应包含在其中。(3)右击sa,然后选择“属性”项,系统弹出“登录属性”窗口。(4)在“密码”一栏中输入新的口令,并在“确认密码”一栏再次输入相同“密码”。(5)在“默认数据库”一栏输入sa默认使用的数据库。(6)单击“确定”按钮,系统关闭对话框,这样完成了为系统管理员设置新口令操作。2、使用managementstudio管理SQLServer登录账户在managementstudio中能方便地创建、查看、修改、删除登录账户。有如下两种方式创建SQLServer登录账户(1和2)。(1)映射Windows登录账户为SQLServer登录账户在managementstudio中可以将一个Windows账户或一个组映射成一个SQLServer登录名。每个SQLServer登录名都可以在指定的数据库中创建数据库用户名。这个特性可以让Windows组中的用户直接访问服务器上的数据库。至于这些指定的数据库用户的权限,可以另行指定的。提示:Windows账户应是已经存在的。具体步骤(参看实验指导)。(在用户映射选项卡中,选定某数据库后用户名默认与登录名一样,也可设定为不一样的。)(2)在managementstudio中创建SQLServer登录账户提示:首先需将验证模式设置为SQLServer验证模式。具体步骤参看实验指导。(在用户映射选项卡中,选定某数据库后用户名默认与登录名一样,也可设定为不一样的。)注意:在创建登录名时,在点击“新建登录名”后,进入“登录名-新建”对话框时,选择的默认数据库要与用户映射选项卡中选择的数据库一致,再去掉“强制实施密码策略”的对勾即可创建成功。在通过新创建的登录名连接SQLServer后,会发现只能访问和打开所选的数据库,而其他数据库无法访问和打开。(3)在ManagementStudio中查看、修改或删除登录账户具体步骤(参看实验指导)四、用户管理用户是基于数据库的名称,是和登录账户相关联的。1、登录名与数据库用户名的关系登录名、数据库用户名是SQLServer中两个容易混淆的概念。登录名是访问SQLServer的通行证。每个登录名的定义存放在master数据库的表syslogins(登录名是服务器级的)中。登录名本身并不能让用户访问服务器中的数据库资源。要访问具体数据库中的资源,还必须有该数据库的用户名。新的登录创建以后,才能创建数据库用户,数据库用户在特定的数据库内创建,必须和某个登录名相关联。数据库用户的定义信息存放在与其相关的数据库的sysusers表(用户名是数据库级的)中的,这个表包含了该数据库的所有用户对象以及和它们相对应的登录名的标识。用户名没有密码和它相关联,大多数情况下,用户名和登录名使用相同的名称,数据库用户名主要用于数据库权限的控制。就如同企业门口先刷卡进入(登录服务器),然后再拿钥匙打开自己的办公室(进入数据库)一样。数据库用户创建后,通过授予用户权限来指定用户访问特定对象的权限。用户用一个登录名登录SQLServer,以数据库用户的身份访问服务器上的数据库。当一个登录账户试图访问某个数据库时,SQLServer将在库中的sysusers表中查找对应的用户名,如果登录名不能映射到数据库的某个用户,系统尝试将该登录名映射成guest用户,如果当前数据库不许可guest用户,这个用户访问数据库将失败。在SQLServer中,登录账户和数据库用户是SQLServer进行权限管理的两种不同的对象。一个登录账户可以与服务器上的所有数据库进行关联,而数据库用户是一个登录账户在某数据库中的映射,也即一个登录账户可以映射到不同的数据库,产生多个数据库用户(但一个登录账户在一个数据库至多只能映射一个数据库用户),一个数据库用户只能映射到一个登录账户。允许数据库为每个用户分配不同的权限,这一特性为在组内分配权限提供了最大的自由度与可控性。2、使用ManagementStudio管理数据库用户管理数据库用户包括对数据库的创建、查看、修改、删除等管理操作。首先如何创建数据库用户呢?一般有两种方法。一种是在创建登录帐户的同时指定该登录帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户。如前面使用ManagementStudio创建登录帐户时就能完成数据库用户的创建;另一种方法是先创建登录帐户,再将登录帐户映射到某数据库,在其中创建同名用户名(具体步骤参看实验指导)。五、角色管理SQLServer2005数据库管理系统利用角色设置,管理用户的权限。通过角色,可以将用户集中到一个单元中,然后对这个单元应用权限。对角色授予、拒绝或吊销权限时,将对其中的所有成员生效。角色的功能非常强大,其原因如下。(1)除固定的服务器角色外,其他角色都是在数据库内实现的。这意味着数据库管理员无需依赖Windows管理员来组织用户。(2)角色可以嵌套。嵌套的深度没有限制,但不允循环嵌套。(3)数据库用户可以同时是多个角色的成员。这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。在SQLServer2005中,可以认为有5中角色类型。1、public角色Public角色在每个数据库(包括所有的系统数据库)中都存在,它也是数据库角色成员。Public角色提供数据库中用户的默认权限,不能删除。每个数据库用户都自动是次角色的成员,因此,无法在此角色中添加或删除用户。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象在public角色中对应的权限。SQLServer2005包括几个预定义的角色,这些角色具有预定义的、不能授予其他用户账户的内在的权限。其中有两种最主要的预定义角色是:固定服务器角色和固定数据库角色。2、固定服务器角色固定服务器角色的作用域在服务器范围内。它们存在于数据库之外,固定服务器角色的每个成员都能够向该角色中添加其他登录。打开ManagementStudio,用鼠标单击“对象资源管理器”窗口中某数据库引擎的“安全性”目录下的“服务器角色”,显示当前数据库服务器的所有服务器角色,共有8个,具体名称及角色描述如下。(1)bulkadmin角色成员:可以运行bulkinsert语句。(2)dbcreator角色成员:可以创建、更改、删除和还原任何数据库。(3)diskadmin角色成员:用于管理磁盘文件。(4)processadmin角色成员:可以终止SQLServer实例中运行的进程。(5)securityadmin角色成员:将管理登录名及其属性。它们可以grant、deny和revoke服务器级权限。也可以grant、deny和revoke数据库级权限。另外,它们可以重置SQLServer登录名的密码。(6)serveradmin角色成员:可以更改服务器范围配置选项和关闭服务器。(7)setupadmin角色成员:可以添加和删除链接服务器,并且也可以执行某些系统存储过程。(8)sysadmin角色成员:可以在服务器中执行任何活动。默认情况下,windowsadministrators组(即本地管理员组)的所有成员都是sysadmin固定服务器角色的成员。固定服务器角色成员的添加与删除(有两种方法,具体步骤参看实验指导)3、数据库角色固定数据库角色在数据库级别定义以及每个数据库中都存在。Db_owner和db_security管理员角色的成员可以管理固定数据库角色的成员身份。但是,只有Db_owner角色可以将其他用户添加到Db_owner固定数据库角色中。打开ManagementStudio,用鼠标单击“对象资源管理器”窗口中某数据库下的“安全性”目录下的“角色”的“数据库角色”,显示的所有数据库角色,共有10个,具体名称及角色描述如下。(1)db_accessadmin:可以为Windows登录账户、Windows组和SQLServer登录账户添加或删除访问权限。(2)db_backupoperator:可以备份该数据库。(3)db_datareader:可以读取所有用户表中的所有数据。(4)db_datawriter:可以在所有用户表中添加、删除或更改数据。(5)db_ddladmin:可以在数据库中运行任何数据定义语言(DDL)命令。(6)db_denydatareader:不能读取数据库内用户表中的任何数据。(7)db_denywriter:不能添加、修改或删除数据库内用户表中的任何数据。(8)db_owner:可以执行数据库的所有配置和维护活动。(9)db_securityadmin:可以修改角色成员身份和管理权限。固定数据库角色到权限有映射关系,请参阅联机帮助查询。固定数据库角色与固定服务器角色不能被删除,用户自定义的角色可以删除。4、用户定义的角色当一组用户执行SQLServer中一组指定的活动时,通过用户定义的角色可以轻松地管理数据库中的权限。在没有合适的Windows组,或数据库管理员无权管理Windows用户账户的情况下,用户定义的角色为数据库管理员提供了与Windows组同等的灵活性。用户定义的角色只适用于数据库级别,并且只对创建时所在的数据库起作用。(1)数据库角色创建、修改与删除(具体步骤参看实验指导)(2)数据库角色成员的添加与删除(具体步骤参看实验指导)5、应用程序角色(略,不作要求)六、权限管理(数据库应用技术SQLServer2005提高篇,参看复印资料)设置安全验证模式——Windows身份验证模式——默认的系统管理员登录账户:administrators。Windows身份混合身份验证模式SQLServer身份——默认的系统管理员登录账户:sa创建SQLServer登录账户——映射Windows登录账户为SQLServer登录账户将验证模式设为SQLServer验证模式,在managementstudio中创建SQLServer登录账户数据库A—1—用户名a1用户名b登录名a1数据库B—1—用户名a1用户名b登录名b数据库C—1—用户名a用户名b1.验证模式安装SQLServer2005默认的是Windows身份验证模式。可能使用ManagementStudio工具来设置验证模式,但设置验证模式的工作只能由系统管理员来完成,以下是在ManagementStudio中的两种设置方法,以下两种方法均需要重新启动SQLServer后,才能生效。方法之一:(1)打开ManagementStudio。(2)在“已注册的服务器”子窗口中要设置验证模式的服务器上单击鼠标右键,然后在弹出的快捷菜单上选择“属性”项,系统弹出“编辑服务器注册属性”窗口。(3)在“常规”选项卡中,“服务器名称”栏按“<服务器名>[\<实例名>]”格式选择要注册的服务器实例“身份验证”栏在连接到SQLServer实例时,可以使用两种身份验证模式:Windows身份验证和SQLServer身份验证(或称混合身份验证)。如图4-1。(4)设置完成后,单击“测试”按钮以确定设置是否正确。(5)单击“保存”按钮,单击对话窗口,完成验证模式的设置或改变。方法之二:(1)在ManagementStudio对象资源管理器中,右键单击服务器,再单击“属性”项。(2)在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,再单击“确定”按钮。如图4-3。2.帐号和角色1)登录管理使用ManagementStudio管理SQLServer登录账户(1)映射WindowsStudio登录账户为SQLServer登录账户在ManagementStudio中可以将一个Windows账户或一个组映射成一个SQLServer登录名。每个SQLServer登录名都可以在指定的数据库中创建数据库用户名。这个特性可以让Windows组中的用户直接访问服务器上的数据库。至于这些指定的数据库用户的权限,可以另行指定的。使用ManagementStudio将已经存在的Windows账户或组映射到SQLServer中的操作步骤如下:启动ManagementStudio,分别展开“服务器”、“安全性”、“登录名”。右击“登录名”,选择“新建登录名”项,进入“登录名-新建”对话框。选择Windows验证模式,登录名通过按“搜索”按钮来自动产生,单击“搜索”按钮后“选择用户或组”对话框,在对象名称框内直接输入名称或单击“高级”按钮后查找用户或组的名称来完成输入。单击“服务器角色”选项卡,可以查看或更改登录名在固定服务器角色中的成员身份。单击“用户映射”选项卡,以查看或修改SQL登录名到数据库用户的映射,并可选择其在该数据库中允许担任的数据库角色。单击“确定”按钮,一个Windows组或用户即可增加到SQLServer登录账户中去了。(2)在ManagementStudio中创建SQLServer登录账户在ManagementStudio中创建SQLServer登录账户的具体步骤类似于“在ManagementStudio中映射Windows登录账户为SQLServer登录账户”,只是,要选择SQLServer验证模式,这是需要输入登录账户名称、密码及确认密码。其他选项卡的设置操作类似。最后按“确定”按钮,即增加了一个新的登录账户。(3)在ManagementStudio中查看、修改或删除登录账户一个新的登录账户增加后,可以在ManagementStudio中查看其详细信息,并能做修改或删除操作。方法如下:启动ManagementStudio,分别展开“服务器”、“安全性”、“登录名”。如图4-3。单击“登录名”下的某一个登录账户,在系统弹出菜单上单击“属性”项,可进入“登录属性”对话框查看该登录账户的信息,同时需要时能直接修改相应账户设置信息。在上一步系统弹出菜单上单击“删除”菜单,能出现“删除对象”对话框,在对话框上单击“确定”按钮,能删除该登录账户。2)用户管理使用ManagementStudio管理数据库用户管理数据库用户包括对数据库的创建、查看、修改、删除等管理操作。首先如何创建数据库用户呢?一般有两种方法。一种是在创建登录帐户的同时指定该登录帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户。如前面使用ManagementStudio创建登录帐户时就能完成数据库用户的创建;另一种方法是先创建登录帐户,再将登录帐户映射到某数据库,在其中创建同名用户名。(1)在ManagementStudio中创建数据库用户在ManagementStudio中创建数据库用户中创建数据库用户的步骤如下:①启动ManagementStudio,分别展开“服务器”、“数据库”、“KCGL”、“安全性”、“用户”,在“用户”文件夹下能看到该数据库的已有用户。②右击“用户”文件夹,选择“新创建数据库用户”,弹出“数据库用户-新建”对话框。③输入要创建的数据库用户的名字,然后再“登陆名”对应的文本框中输入相对应的登录名,或单击“浏览”按钮,在系统中选择相应的登录名。④单击“确定”按钮,将新创建的数据库用户添加到数据库中。(2)在ManagementStudio中查看、修改或删除数据库用户操作方式是:①启动ManagementStudio,分别展开“服务器”、“数据库”、“KCGL”、“安全性”、“用户”,在“用户”文件夹下能看到该数据库的已有用户。②右击某要操作的用户,在系统弹出的快捷菜单中含有“属性”、“删除”等菜单项。③若选择“属性”菜单项,可以查看或修改用户的权限信息,如“常规”中的“拥有架构”“角色成员”;“安全对象”中的具体权限设置及“扩展属性”等。④若选择“删除”菜单项,可从数据库中删除该用户。3)角色管理固定服务器角色成员的添加与删除固定服务器角色成员的添加与删除操作可以通过ManagementStudio或T-SQL两种方法来操作。在ManagementStudio中添加或删除固定服务器角色成员。:方法一:打开ManagementStudio,用鼠标单击“对象资源管理器”窗口->某数据库引擎->“安全性”->“服务器角色”,显示当前数据库服务器的所有服务器角色,再要添加或删除成员的某固定服务器角色上单击鼠标右键,选择快捷菜单中的“属性”菜单项。在“服务器角色属性”对话框中,能方便单击“添加”或“删除”按钮实现对成员的添加或删除。方法二:打开ManagementStudio,用鼠标单击”对象资源管理器“窗口->某数据库引擎->”安全性“->”登录名“;在某登录名上右击,选择”属性“菜单项,出现”登陆属性“对话框或单击”新建登录名“出现”登陆-新建”对话框;单击“服务器角色”选项卡,能直接多项选择登陆名需要属于的固定服务器角色。这样也完成了对固定服务器角色成员的添加与删除。用户定义的角色(1)数据库角色创建、修改与删除数据库角色的创建、修改与删除操作可以通过ManagementStudio或T-SQL两种方法来操作。在ManagementStudio中创建、修改与删除数据库角色:①打开ManagementStudio,用鼠标单击”对象资源管理器“窗口->某数据库引擎->”数据库“->"某具体数据库"->”安全性“->”角色“->"数据库角色",显示当前数据库的所有数据库角色,在”数据库角色“目录或某数据库角色上单击鼠标右键,单击快捷菜单中的”新建数据库据角色“菜单项。在”数据库角色-新建“对话框中,指定角色名称与所有者,单击”确定“按钮即简单创建了新的数据库角色。②在某数据库角色上单击鼠标右键,单击快捷菜单中的”属性“菜单项。在”数据库角色属性“对话框中,查阅或修改角色信息,如制定新的所有者、安全对象、拥有的架构、角色、角色成员等信息的修改等。③在某自定义数据库角色上单击鼠标右键,单击快捷菜单中的“删除”菜单项。启动“删除对象”来删除数据库角色。但要注意:角色必须为空时才能删除。(2)数据库角色成员的添加与删除数据库角色成员的添加及与删除操作可以通过ManagementStudio或T-SQL两种方法来操作。在ManagementStudio中添加与删除数据库角色成员:方法一:在上面提到过的某数据库角色的“数据库角色属性“对话框中,“常规”选线卡上,右下角色成员操作区,单击“添加”或“删除”按钮实现操作。方法二:通过“对象资源管理器”窗口->某数据库引擎->“数据库”->“某具体数据库”->“安全性”->"用户"->"某具体用户";单击鼠标右击,单击“属性”菜单,出现“数据库用户”对话框,在右下角色成员操作区,通过多选按钮直接实现该用户从某个或某些数据库角色中添加或删除的操作功能。应用程序角色在ManagementStudio中创建与删除数据库程序角色:通过“对象资源管理器”窗口->"数据库引擎"->"数据库"->"某具体数据库"->"安全性"->"角色"->"应用程序角色";单击油表有机,单击“新建应用程序角色”菜单项,出现“应用程序角色新建”对话框,在”常规“选项卡右边指定角色名称‘默认架构、密码、确认密码、角色拥有的架构等信息后,单击”确定“按钮即可。当然在创建应用程序角色的同时,可以指定”安全对象“、”扩展属性“选项卡中的属性。在已有某应用程序角色上单击鼠标右键,再单击“删除”菜单项,能实现角色的删除操作。3.权限管理1)在ManagementStudio中管理权限在ManagementStudio中管理权限是非常方便的,可以从权限相关的主体与安全对象这两者的任意一方出发考虑实现操作。2)在ManagementStudio中管理凭据(1)创建凭据①在对象资源管理器中,展开“安全性”,右击“凭据”,然后单击“新建凭据”项。②在“新建凭据”对话框中的“凭据名称”框中,输入凭据的名称。③在“标识”框中,输入对于对外连接的账户名称(在离开SQLServer的上下文时)。通常为Windows用户账户。但标识可以是其他类型的账户。④在“密码”和“确认密码”框中,输入“标识”框中指定的账户的密码。如果“标识”为Windows用户账户,则密码为Windows密码。如果不需要密码,“密码”可为空。⑤单击“确定”按钮。(2)将登录名映射到凭据①在对象资源管理器中,展开“安全性”,右击SQLServer登录名,然后单击“属性”项。②在“登录属性”对话框的“常规”页的“凭据”框中,输入凭据的名称,然后单击“确定”按钮。3)用T–SQL命令管理权限主要命令有GRANT、REVOKE、DENY、CREATECREDENTIAL、ALTERCREDENTIAL、DROPCREDENTIAL等。(1)GRANT将安全对象的权限授予主体。GRANT命令的简单语法:GRANT{ALL[PRIVILEGES]}|permission[(column[,...n])[,...n][ON[class::]securable]TOprincipal[,...n][WITHGRANTOPTION][ASprincipal]ALL:该选项并不授予全部可能的权限。授予ALL参数相当于授予以下权限。①如果安全对象为数据库,则ALL表示BACKUPDATABASE、BACKUPLOG、CREATEDATABASE、CREATEDRFAULT、CREATEFUNCTION、CREATEPROCEDURE、CREATETABLE和CREATEVIEW。②如果安全对象为标量函数,则ALL表示EXECUTE和REFERENCES。③如果安全对象为表值函数,则ALL表示DELETE、INSERT、REFERENCES、SELECT和UPDATE。④如果安全对象为存储过程,则ALL表示DELETE、EXECUTE、INSERT、SELECT和UPDATE。⑤如果安全对象为表,则ALL表示DELETE、INSERT、REFERENCES、SELECT和UPDATE。⑥如果安全对象为视图,则ALL表示DELETE、INSERT、REFERENCES、SELECT和UPDATE。Permission:权限的名称。Column:指定表中将授予其权限的列的名称。需要使用括号“()”。Class:指定将授予其权限的安全对象的类。需要范围限定符“::”。Securable:指定将授予其权限的安全对象。TOprincipal:主体的名称。可为其授予安全对象权限的主体随安全对象而异。GRANTOPTION:指示被授权者在获得指定权限的同时还可以将指定权限授予其他主体。ASprincipal:指定一个主体,执行该查询的主体从该主体获得授予该权限的权利。REVOKE语句可用于删除已授予的权限,DENY语句可用于防止主体通过GRANT获得特定权限。授予权限将删除对所指定安全对象的相应权限的DENY或REVOKE权限。如果在包含该安全对象的更高级别拒绝了相同的权限,则DENY优先。但是,在更高级别撤销已授予权限的操作并不优先。数据库级权限在指定的数据库范围内授予。如果用户需要另一个数据库中的对象的权限,请在该数据库中创建用户账户,或者授权用户账户访问该数据库以及当前数据库。数据库特定安全对象有:应用程序角色、程序集、非对称密钥、证书、约定、数据库、端点、全文目录、函数、登录、消息类型、对象、队列、远程服务绑定、角色、路由、架构、服务器、服务、存储过程、对称密钥、同义词、系统对象、表、类型、用户、视图、XML架构集合。Sp_helprotect系统存储过程可报告对数据库级安全对象的权限。(2)GRANT对象权限。授予对表、视图、表值函数、存储过程、扩展存储过程、标量函数、聚合函数、服务队列或同义词的权限,语法如下:GRANT<permission>[,…n]ON[OBJECT::][schema_name].object_name[(column[,…n])]TO<database_principal>[,…n][WITHGRANTOPTION][AS<database_principal>]::=ALL[PRIVILEGES]|permission[(column[,…n])]<database_principal>::=Database_user|Database_role|Application_role|Database_user_mapped_to_Windows_User|Database_user_mapped_to_Windows_Group|Database_user_mapped_to_cerificate|Database_user_mapped_to_asymmetric_key|Data_user_with_no_loginPermission:指定可以授予的对架构包含的对象的权限。ALL:授予ALL不会授予所有可能的权限。授予ALL等同于授予适用于指定对象的所有ANSI-92权限。对于不同权限,ALL的含义有所不同。标量函数权限:EXECUTE和REFERENCES。表值函数权限:DELETE、INSERT、REFERENCES、SELECT和UPDATE。存储过程权限:EXECUTE、SYNONYM、DELETE、INSERT、SELECT和UPDATE。表权限:DELETE、INSERT、REFERENCES、SELECT和UPDATE。视图权限:DELETE、INSERT、REFERENCES、SELECT和UPDATE。Database_user指定数据库用户;Database_role指定数据库角色;Applicationrole指定应用程序角色;Database_user_mapped_to_Windows_User指定映射到Windows用户的数据库用户;Database_user_mapped_toWindows_Group指定映射到Windows组的数据库用户;Database_user_mapped_to_cerificate指定映射到证书的数据库用户;Database_user_mapped_to_asymmetric_key指定映射到非对称密钥的数据库用户;Data_user_with_no_login指定无相应服务器级主体的数据库用户。对象是一个架构级的安全对象,包含于权限层次结构中作为其父级的架构中*GRANT命令的使用实例:例1:授予对表的SELECT权限,本例授予用户RosaQdM对AdventureWorks数据库中表Person.Address的SELECT权限。USEAdventureWorksGRANTSELECTONOBJECT::Person.AddressTORosaQdM例2:授予对存储过程的EXECUTE权限,本例授予名Recruiting11的应用程序角色对存储过程HumanResources.uspUpdateEmployeeHireInfo的EXECUTE权限。GRANTEXECUTEONOBJECT::HumanResources.uspUpdateEmployeeHireInfoTORecruiting11(3)REVOKE取消以前授予或拒绝了的权限。REVOKE简单语法:REVOKE[GRANTOPTIONFOR]{[ALL[PRIVILEGES]]|permission[(column[,…n])][,…n]}[ON[class::]securable]{TO|FROM}principal[,…n][CASCADE][ASprincipal]REVOKE对象权限有:撤销对表、视图、表值函数、存储过程、扩展存储过程、标量函数、聚合函数、服务队列或同义词的权限。语法如下:REVOKE[GRANTOPTIONFOR]<permission>[,…n]ON[OBJECT::][schema_name].object_name[(coloumn[,…n])]{FROM|TO}<database_principal>[,…n][CASCADE][AS<database_principal>]*REVOKE命令的使用实例:例:撤销对表的SELECT权限,本例从用户RosaQdM中撤销对AdventureWorks数据库中表Person.Address的SELECT权限。REVOKESELECTONOBJECT::Person.AddressFROMRosaQdM用T–SQL令管理权限的例子1.给用户授权:a)usedatabase_coursecreateloginuser3withpassword='';createuseruser3forloginuser3;b)grantupdate(sno),selectonsctouser1;2.回收权限:a)revokeupdate(sno)onscfromuser1;b)revokeselectonSCfrompublic;3.数据库角色:a)createroler1;grantselect,insert,updateoncoursetor1;将角色r1授予user1、user2、user3:grantVIEWDEFINITION,TAKEOWNERSHIPonrole::r1touser1,user2,user3;一次性的通过r1回user1的3个权限:revokeVIEWDEFINITION,TAKEOWNERSHIPonrole::r1fromuser1;回收user2对于r1的控制权限:revokecontrolonrole::r1fromuser2;b)角色的权限修:grantdeleteoncoursetor1;revokeinsertoncoursefromr1;(4)DENY拒绝授予主体权限。防止主体通过其组或角色成员身份继承权限。DENY的简单语法:DENY{ALL[PRIVILEGES]}|permission[(column[,…n])][,…n][ON[class::]securable]TOprincipal[,…n][CASCADE][ASprincipal]DENYde对象权限,拒绝对安全对象的OBJECT类成员授予的权限。OBJECT类的成员包括:表、视图、表值函数、存储过程、扩展存储过程、标量函数、聚合函数、服务队列以及同义词。语法如下:DENY<permission>[,…n]ON[OBJECT::][schema_name].object_name[(column[,…n])]TO<database_Principal>[,…n][CASCADE][AS<database_principal>]<permission>::=ALL[PRIVILEGES]|permission[(Column[,…n])]*DENY命令的使用实例:例:拒绝对表的SELECT权限,本例拒绝用户RosaQdM中撤销对AdventureWorks数据库中表Person.Address的SELECT权限。DENYSELECTONOBJECT::Person.AddressTORosaQdM(5)CREATECREDENTIAL创建凭据。语法如下:CREATECREDENTIALcredential_nameWITHIDENTITY=’identity_name’[,SECRET=’secret’]参数:credential_name指定要创建的凭据的名称。credential_name不能以数字符号(#)开头。系统凭据以##开头。IDENTITY=’identity_name’指定在服务器以外进行连接时使用过的账户的名称。SECRET=’secret’指定发送身份验证所需的机密内容。该子句为可选项。可以在sys.credentials目录视图中查看有关凭据的信息。*CREATECREDENTIAL命令的使用实例:例:本例创建名为AlterEgo的凭据。凭据包含Windows用户RettigB和密码sdrlk8$40-dksli87nNN8。CREATECREDENTIALAlterEgoWITHIDENTITY=’RettigB’,SECRET=’sdrlk8$40-dksli87nNN8’(6)ALTERCREDENTIAL更改凭据的属性。语法如下:ALTERCREDENTIALcredential_nameWITHIDENTITY=’identity_name’[,SECRET=’secret’]使用服务主密钥对密码进行加密。如果重新生成服务主密钥,则需要使用新服务主密钥对改密码重新加密。*ALTERCREDENTIAL命令的使用实例:例:更改凭据的密码,本例将更改存储在名为Saddles的凭据中的密码。该凭据包含Windows登录名RettigB及其密码。使用SECRET子句将新密码添加到凭据。ALTERCREDENTIALSaddlesWITHIDENTITY=’RettigB’,SECRET=’sdrlk8$40-dksli87nNN8’(7)DROPCREDENTIAL从服务器中删除凭据。语法如下:DROPCREDENTIALcredential_namecredential_name为要从服务器中删除的凭据的名称。备注:若要删除与凭据有光的机密内容而不删除凭据本身,请使用ALTERCREDENTIAL。1表名抄表记录主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2抄表人抄表人Int4非空3目标表目标表Int4非空4抄表时间抄表时间datetime8非空5示数示数float8非空2表名抄表信息主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2表名表名nchar20可空3表编号表编号nchar20可空4所属子站所属子站int4可空5关口表倍率关口表倍率float8非空6电费单价电费单价float8非空7结算方式结算方式nchar20可空8计费方式计费方式nchar20可空3表名电站关注表主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2用户用户Int4非空3电站电站Int4非空4表名电站设备表主键ID序号字段名称字段说明类型位数属性备注1IDIDvarchar50非空主键,自增2设备名称设备名称varchar50非空3所属电站所属电站Int4非空4设备类型设备类型Varchar10非空5父级设备父级设备Varchar50可空6组件数量组件数量int4非空7显示顺序显示顺序int4非空5表名故障表_2021主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2子站子站Int4非空3设备编号设备编号nchar200非空4故障内容故障内容nchar200非空5功率损失功率损失float8非空6故障时间故障时间datetime8非空7恢复时间恢复时间datetime8可空6表名故障表_2021主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2子站子站Int4非空3设备编号设备编号nchar100非空4故障内容故障内容nchar100非空5功率损失功率损失float8非空6故障时间故障时间datetime8非空7恢复时间恢复时间datetime8可空7表名故障工单表主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2工单号工单号Varchar32非空3故障类型故障类型nchar20非空4上报时间上报时间datetime8非空5上报人上报人int4可空6发现时间发现时间datetime8非空7故障说明故障说明nchar200非空8故障位置nchar40非空9所在巡视点Int4可空10接单人int4可空11操作指导nchar200可空12是否现场处理bit1非空13是否处理完成bit1非空14完成时间datetime8可空15所属子站int4非空16图片image16可空17外部文件nvarchar-1可空18处理说明nvarchar100可空19关联故障int4可空8表名集团信息表主键ID序号字段名称字段说明类型位数属性备注1ID集团IDInt4非空主键,自增2集团编号集团编号nchar100非空3集团名称集团名称nchar100非空4集团地址集团地址nchar100可空5在建装机容量在建装机容量decimal5非空6在建电站数量在建电站数量int4非空7未建装机容量未建装机容量decimal5非空8未建电站数量未建电站数量Int4非空9父集团ID父集团IDint4可空9表名角色权限表主键SIDELINEID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2所属角色所属角色Int4非空3权限权限Int4非空10表名清洗计划主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2计划子站计划子站Int4非空3开始日期开始日期date3非空4清洗间隔月数清洗间隔月数int4非空5计划结束日期计划结束日期date3可空11表名清洗记录主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2开始日期开始日期date3非空3结束日期结束日期date3非空4清洗子站清洗子站Int4非空12表名巡视点信息表主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2名称名称nchar40非空3张贴位置张贴位置nchar40可空4所属子站所属子站Int4非空4编码编码nchar200非空5经度经度decimal9可空6纬度纬度decimal9可空7创建时间创建时间datetime8非空8删除标记删除标记bit1非空13表名巡视记录_按任务创建月主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2所属任务所属任务Int4非空3巡视点巡视点Int4非空4巡视完成时间巡视完成时间datetime8可空14表名巡视类型主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2类型名类型名nchar20非空15表名巡视任务表主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2巡视类型巡视类型Int4非空3附带工具及说明附带工具及说明nchar200可空4工单号工单号varchar32非空4是否完成是否完成bit1非空5创建时间创建时间datetime8非空6完成时间完成时间datetime8可空7任务执行人任务执行人int4可空8所属子站所属子站int4非空9创建人创建人int4非空10开始小时开始小时tinyint1非空11截止小时截止小时tinyint1非空16表名用户表主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2用户名用户名nchar20非空3姓名姓名nchar20非空4所属分组所属分组int4非空5登录密码登录密码nchar20非空6是否管理员是否管理员bit1非空7微信ID微信IDnvarchar-1可空8号号nchar22可空9推送级别推送级别tinyint1非空10简报时间简报时间time5非空17表名用户角色表主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2用户用户int4非空3角色角色int4非空18表名子站分组表主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2子站子站Int4非空3分组分组Int4非空4常用标记常用标记bit1非空19表名子站详情表主键ID序号字段名称字段说明类型位数属性备注1IDIDInt0非空主键,自增2子站ID子站IDInt0非空3简介简介ntext1可空4名称1名称1nchar1可空4值1值1nchar1可空5名称2名称2nchar1可空6值2值2nchar1可空7名称3名称3nchar1可空8值3值3nchar1可空9名称4名称4nchar1可空10值4值4nchar1可空11名称5名称5nchar1可空12值5值5nchar1可空13名称6名称6nchar1可空14值6值6nchar1可空15名称7名称7nchar1可空16值7值7nchar1可空17名称8名称8nchar1可空18值8值8nchar1可空19名称9名称9nchar1可空20值9值9nchar1可空21名称10名称10nchar1可空22值10值10nchar1可空23名称11名称11nchar1可空24值11值11nchar1可空25名称12名称12nchar1可空26值12值12nchar1可空27名称13名称13nchar1可空28值13值13nchar1可空29名称14名称14nchar1可空30值14值14nchar1可空31名称15名称15nchar1可空32值15值15nchar1可空33名称16名称16nchar1可空34值16值16nchar1可空35名称17名称17nchar1可空36值17值17nchar1可空37名称18名称18nchar1可空38值18值18nchar1可空39名称19名称19nchar1可空40值19值19nchar1可空41名称20名称20nchar1可空42值20值20nchar1可空20表名子站信息表主键ID序号字段名称字段说明类型位数属性备注1IDIDInt4非空主键,自增2子站名称子站名称nchar100非空3子站编号子站编号nchar100非空4所属集团所属集团Int4可空4设计容量设计容量decimal5非空5组件数量组件数量int4非空6支路数量支路数量smallint2非空7设备数量设备数量int4非空8逆变方式逆变方式nchar40可空9并网方式并网方式nchar40可空10并网电压并网电压decimal5可空11承载类型承载类型nchar20可空12是否常用是否常用bit1非空13投运日期投运日期date3非空14所在省份所在省份nchar40非空15所在城市所在城市nchar40可空16子站地址子站地址nchar40可空17并网费率并网费率decimal5非空18座标核实座标核实bit1非空19经度经度decimal9可空20纬度纬度decimal9可空21禁用禁用bit1非空22是否自持是否自持bit1非空运维关系图资源关系图图书系统表结构(注意:表结构以数据库为准)一、数据表如下:系统基础表:C_Employee(员工信息表)编号字段中文说明类型备注是否为空是否主键1EmployeeID员工IDint是2EName员工姓名varchar(20)3SexCode性别varchar(2)4Age年龄int是5StartDate上岗日期datetime6DeptCode工作部门varchar(2)是7DutyCode职务varchar(2)是8Phone工作varchar(16)是9MobilePhone移动varchar(11)是10varchar是否在岗varchar(2)是11Photo照片image是12AddDate添加日期datetime13TransFlag传输标记int14DelFlag删除标记int15Remark备注varchar(50)是P_RetailParameter(零售参数表)编号字段中文说明类型备注是否为空是否主键1IsPrintBill是否打印小票varchar(2)是2BillTitle小票标题varchar(200)3IsUseReader是否使用读码器varchar(2)4AllowChangeRebate允许修改折扣varchar(2)5PrintTypesCode打印机类型varchar(2)6Welcome欢迎词varchar(50)7IsPrintNumber打印单号varchar(2)8IsPrintDate打印日期varchar(2)9IsPrintCollector打印收费员varchar(2)10Hint说明varchar(100)11Phone联系varchar(16)Common_Code(编码表)(一些下拉框的配置信息)编号字段中文说明类型备注是否为空是否主键1CodeID类型int是2Code编码varchar(2)是3CodeName名称varchar(30)4CodeDesc类型说明varchar(60)5IsValid是否启用varchar(3)6Remark备注varchar(200)7AddDate添加日期datetimeP_DefaultValue(默认值表)编号字段中文说明类型备注是否为空是否主键1TableID表IDint2TableName表名称varchar(30)3FieldName字段名varchar(30)4DefaultValue默认值varchar(100)Common_DCode(行政编码)编号字段中文说明类型备注是否为空是否主键1DCode行政编码varchar(9)是2DName行政名称varchar(40)3ProvName省名varchar(10)4CityName地区名varchar(10)5CountyName县名varchar(10)6ProvCode省编码varchar(2)7CityCode地区编码varchar(2)8CountyCode县编码varchar(2)9Remark备注varchar(30)10AddDate记录增加日期datetimeP_SystemParameter(系统参数表)编号字段中文说明类型备注是否为空是否主键1PID参数IDint是2PName参数名称varchar(30)3ValueType参数值类型varchar(2)4PValue参数值varchar(60)5PStatusCode参数状态varchar(2)6PExplainVarchar(200)7CanEditvarchar(2)8TransFlagintP_OperationLog(操作日志表)(数据库里没有该表)编号字段中文说明类型备注是否为空是否主键1OperationID操作IDbigint是2OperationTypes操作类型varchar(2)3UnitName单元名称varchar(3)4Explain操作说明varchar(200)5Operator操作人员varchar(20)6OperateTime操作时间datetimeCommon_User(用户表)编号字段中文说明类型备注是否为空是否主键1UserID用户代码varchar(8)是2Password用户密码varchar(128)3remark备注varchar(200)4Status用户状态varchar(2)5AddDate添加日期datetime6CanSeeAllvarchar(2)Common_Role_User(角色和用户对照表)编号字段中文说明类型备注是否为空是否主键1RoleID角色代码int是2UserID用户代码varchar(30)是3Com_UserID用户表_用户代码varchar(8)Common_Role(角色表)编号字段中文说明类型备注是否为空是否主键1RoleID角色代码int是2RoleName角色名称varchar(30)3SysFlag系统标志tinyint4Remark备注varchar(200)5AddDate添加日期datetimeCommon_Role_Operate(操作和角色对照表)编号字段中文说明类型备注是否为空是否主键1RoleID角色代码int是2OperateID操作代码varchar(32)是Common_Operation(操作列表)编号字段中文说明类型备注是否为空是否主键1OperateID操作代码varchar(32)是2OperateName操作名称varchar(30)3Remark描述varchar(200)R_ReportCatalog(报表目录)编号字段中文说明类型备注是否为空是否主键1ReportID报表类型varchar(2)是2CreateDate统计时间datetime是3BeginDate开始日期datetime4EndDate终止日期datetime5Operator操作员varchar(16)6Remark备注varchar(50)7AddDate添加日期datetime8DelFlag删除标记int9ChFlag修改标记int10TransFlag传输标记int客户图书传标记(在数据库里没有该表)编号字段中文说明类型备注是否为空是否主键1CustomerID客户IDint查询系统表:15、Qry_Types(查询类型)编号字段中文说明类型备注是否为空是否主键1QueryTypeID类型编码varchar(30)是2QueryTypeName类型名称varchar(32)16、Qry_HeaderList(查询的表头列表)编号字段中文说明类型备注是否为空是否主键1StatementID查询语句编号int是2FieldID字段varchar(40)是3FieldWidth字段宽度int4FieldOrder字段顺序tinyint5FieldVisible字段是否显示tinyint17、Qry_AllFields(字段信息表)编号字段中文说明类型备注是否为空是否主键1FieldID字段varchar(40)是2FieldName字段中文名称varchar(40)3FieldType字段类型char(1)4CodeType对应的编码类型int5PrimaryFlag是否主键tinyint6Condition对应条件varchar(1600)18、Qry_Statements(查询语句列表)编号字段中文说明类型备注是否为空是否主键1StatementID查询语句编号int是2TypeID所属查询类型varchar(30)3StatementName查询语句名称varchar(30)4ParentStatementID上级查询语句int5SqlStatement查询语句text6MainTable主表名称varchar(30)7Primarykey主键名称varchar(100)8ProcessType是否分页检索tinyint9PageField分页字段名称varchar(60)10OrderID排列顺序smallint11ExecuteFlag是否执行tinyint12IsSumSQL是否汇总查询tinyint13DelFlagValue对应DelFlag值int14RecycleFlag是否用于回收站tinyint15ExpandLevel可展开的层次tinyint16Remark备注varchar(600)19、Qry_ClassifyStat(分类统计表)编号字段中文说明类型备注是否为空是否主键1StatementID查询语句编号int是2ClassifyTableID分类表编号int是3TableName表名称varchar(32)4PrimaryKey关键字段varchar(32)5TargetField关联目标字段varchar(32)6ExpandLevel展开层次int7Operate比较运算符varchar(32)8SubCondtion附加条件varchar(300)9ShowField显示字段varchar(32)不在数据库里10TableName2表名称2varchar(32)不在数据库里11PrimaryKey2关键字段2varchar(32)不在数据库里12TargetField2关联目标字段2varchar(32)不在数据库里13ShowField2显示字段2varchar(32)不在数据库里14SubCondition2附加条件2varchar(300)不在数据库里20、Qry_Conditions(存储的查询条件)编号字段中文说明类型备注是否为空是否主键1ConditionID存储查询条件编号int是2StatementID查询语句编号int是3Name查询条件名称varchar(30)4Condition查询条件varchar(6000)5UserID对应用户varchar(20)6IsDefault是否默认查询tinyint7ConditionOrder顺序smallint8Remark备注varchar(200)21、Qry_FieldsList(开放的查询字段)编号字段中文说明类型备注是否为空是否主键1StatementID查询语句编号int是2FieldID字段varchar(60)是3FieldOrder字段顺序int主要业务表:22、U_Register(用户注册信息)编号字段中文说明类型备注是否为空是否主键1UserID用户IDuniqueidentifier是2UserNumber用户代码varchar(30)3UserName用户名称varchar(60)4ShortName简称varchar(30)5AreaCode所在地varchar(9)6Address详细地址varchar(30)7ZipCode邮政编码varchar(8)8Phone联系varchar(30)9Fax号码varchar(20)10ContactMan联系人varchar(20)11EMailEMailvarchar(30)12BankName开户银行varchar(60)13AccountNumber银行帐号varchar(32)14TaxNumber增值税发票账号varchar(30)15TaxAddress增值税发地址varchar(60)16TaxBank增值税发开户行varchar(60)17SizeCode单位规模char(2)18RegisterDate注册日期datetime23、P_PubCompany(出版社信息)出版社基础信息编号字段中文说明类型备注是否为空是否主键1PubID出版社IDint是2PubNumber出版社代码varchar(30)3PubName名称varchar(60)4ShortName简称varchar(30)5PrivateCode自编码varchar(30)6AreaCode所属省市varchar(9)7Address地址varchar(45)8ZipCodevarchar(30)9Phonevarchar(30)10WebAddress网址varchar(60)11EMailEMailvarchar(30)12ContactMan联系人varchar(30)13Operator操作员varchar(16)14Remark备注varchar(100)15AddDate添加日期datetime16DelFlag删除标记int17ChFlag修改标记int18TransFlag传输标记int24、U_RequestOrder(我的征订单)(数据库里没有该表)编号字段中文说明类型备注是否为空是否主键1CustomerID客户IDint是2RequestNumber征订单号varchar(16)3BookNumber书号varchar(30)4RequestDate征订日期datetime5Price定价money6SaleRebate销售折扣float**7BookCount征订样本量int8AddDate添加日期datetime9Remark备注varchar(50)10DelFlag删除标记Int11ChFlag修改标记int12TransFlag传输标记inr25、B_Books(图书信息)编号字段中文说明类型备注是否为空是否主键1BookNumber书号int是2BookGUID图书GUIDuniqueidentifier3ISBNISBN号varchar(20)4BookName书名varchar(60)5PrivateCode自编码varchar(60)6PubID出版社IDint7BookTypeCode类别varchar(2)8Author作者varchar(30)9Translator译者varchar(30)10EditionOrder版次varchar(30)11PageStyleCode版别varchar(2)12PageCount页码int13Price定价int**14BatchRebate批销折扣int15RetailRebate零售折扣int16MaxValue库存上限int17MinValue库存下限int18StatusCode销售状态varchar(2)19ProviderID供应商IDint20AccessaryCode附件varchar(2)21AmountInPackage每包册数int22PublishYear出版年份int23Operator操作员varchar(16)24AddDate添加日期datetime25Remark备注varchar(50)26OrderID排序号int自增胡坤桢修改于2009-07-28,以前的数不是自增,现在改为自增。胡坤桢修改于2009-07-28,以前的数不是自增,现在改为自增。27DelFlag删除标记int28ChFlag修改标记int29TransFlag传输标记int30SourceNumber源书号int31SourceID源IDint26、B_BookTypes(图书类型表)编号字段中文说明类型备注是否为空是否主键1TypesID类型IDint是2TypesName类型名称varchar(16)3ParentTypes上级类型varchar(30)4VisibleCode是否可见datetime5OrderID显示预号money6IsSysFlag系统自带float**7AddDate添加日期int8Remark备注varchar(50)9DelFlag删除标记int10ChFlag修改标记Int11Tr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论