SQL 上机内测一./剜建数据库 MyOffice (共 10 分)建立目录 d:\project(可手动建立或用代码建立)建库时按命名规则指定数据库的逻辑名称及物理名称。设主数据库初始大小 50mb,文件增长:10% ; 次要数据库文件初始大小 20mb,文件增长:10mb,日志文件指定逻辑及物理名称即可.*/建表(共 39 分,建表语句各 5 分俵,每个约束 3 分)表 UserInfo 用户信息表]表名、列名数据类型(精度范围)空徘空约束条件其他说明UseridVarchar(10)非空唯一用户唯一标识UserNameVarchar(20)非空真实姓名PassWordVarchar(6)非空8 位数字,默认 6 个 8密码GenderBit非空[0 男 1 女]默认为 0性别Roleidint非空Roleinfc 表 Roleid 外键用户角色UserStateint非空UserState 表 UserStatei 外键用户状态表 UserState 用户状态表]表名列名 J、.、数据类型(精度范围)空/非空约束条件其他说明UserStateidint非空主键,自动编号,自增 1UserStateNameVarchar(12)非空后两位必须为'状态’例如:激活状态屏蔽状态休假状态表 RoleInfo 用户角色表]表名列名数据类型(精度范围)空徘空约束条件其他说明Roleidint非空主键,自动编号,自增 1角色 idRoleNameVarchar(20)非空角色名称RoleDescVarchar(50)默认‘无描述’角色描述. /根据列说明,向三表中各插入两条以上测试记录(6 分)*/三. /建立视图 view-userInfo,要求显示中文列信息如下:姓名、性别[男女]、状态名称、角色名称。要 求对视图是否存在进行推断(8 分)*/四. /*为 UserInf。表中的 Userid 列创建聚集索引,填充因子为 50%,要求对索引是否存在进行推断/(6 分)五. /基于刚刚创建的索引进行数据查询*/(3 分)六. /*创建生成密码的存储过程 pro-CreatePassword 使用输出参数带出新生成的 6 位密码*/ ( 8 分)七. /*创建存储过程 pro-AddUser,实现添加新用户功能,可接收用户传入的用户 ID、用户姓名、性别、 角色名称、状态名称*/要求:1.假如传入的用户 id 在用户表中已经存在,抛出提示错误信息2. 假如传入的角色名称在角色表中不存在,抛出提示错误信息3. 假如传入的状态名称在状态表中不存在,抛出提示错误信息4. 向用户表中插入数据时,调用 pro-CreatePasswor 猎取新密码,要求新生成的密码在用户表中 无人使用(20 分)八. /*封装存储过程 proc_DeleteRol,e 内不使用事务实现对指定角色名称的删除*/(10 分)九. /创建存储过程 proc-BackupUser 实现对用户信息表中’屏蔽状态’的用户的数据转移,将这些’屏蔽 状态’的用户信息转移到 OffUseinfo 表中要求对 OffUseinfo 是否存在进行推断(10 分)*/