题库管理系统(数据库设计部分)
2009-07-02 11:32
148 查看
Create table teacher ( T_Account char(20) not null, T_Password char(15) not null, T_Name char(10), T_Sex char(2), T_Education char(16), T_CreTime smalldatetime, T_MgmName char(15) constraint uq_t_account unique (T_Account), constraint ck_t_sex check (T_Sex='男' or T_Sex='女'), constraint fk_t_mgmName foreign key(T_MgmName) references management(M_Account) ) //为Subject建立自增加主键 ALTER TABLE subject DROP COLUMN S_No ALTER TABLE subject ADD S_No int identity(1,1) not null PRIMARY KE //建立用户(管理员+教师)视图 Create view AllAccount as select m_account as all_account from management union select t_account from teacher Create Procedure pr_RetManData ( @row int ) as begin Declare cursor_Man SCROLL CURSOR for select * from management Declare @m_acc char(20) Declare @m_pas char(30) Declare @m_comp int Declare @m_time smalldatetime Open cursor_Man --Fetch ABSOLUTE @row from cursor_Man Fetch ABSOLUTE @row from cursor_Man into @m_acc,@m_pas,@m_comp,@m_time select * from management where m_account=@m_acc Close cursor_Man Deallocate cursor_Man End //分值限定在0~100的插入触发器 create trigger sub_insert_tri on subject for insert as Declare @val int select @val=Inserted.S_Value from Inserted if @val<=0 or @val>100 begin Rollback Transaction Print '分值必须大于0,小于等于100' end //删除TEACHER事务 Create Trigger delMan on management for delete As Declare @row int select @row=@@ROWCOUNT if @row=0 Begin print'没有删除记录' return End if @row>1 Begin rollback Transaction raiserror('您一次只能删除一条记录',16,10) return End --获取删除的管理员号 DECLARE @m_acc char(20) select @m_acc=m_account from Deleted --删除该管理员创建的所有教师 DELETE from teacher where T_MgmName=@m_acc print'级联删除成功'
相关文章推荐
- mysql学习day03(事物、视图、索引、部分数据库设计)
- 数据库设计指南——第五部分(小技巧)
- 基于面向对象(OO)的数据库设计模式探讨,第 2 部分
- (转载)数据库设计指南----第5 部分— 各种小技巧
- 基于面向对象(OO)的数据库设计模式探讨 第 1 部分
- Asp.net MVC权限设计思考 (一)数据库建库部分
- (转载)数据库设计指南----第1 部分— 设计数据库之前
- 数据库设计部分
- Asp.net MVC权限设计思考 (一)数据库建库部分
- (转载)数据库设计指南----第2 部分— 设计表和字段
- 火车售票联网数据库设计及部分实现
- 共享一份C#数据库持久层框架设计思路及其部分代码(原创)
- 基于图片分离的文件系统设计(基于fastdfs) - 数据库存储部分
- 数据库设计指南 第2 部分— 设计表和字段
- 数据库设计指南——第二部分(设计表和字段)
- 《自己动手设计数据库》第三部分 其他数据库设计事项
- 数据库设计指南——第三部分(选择键和索引)
- (转载)数据库设计指南----第3 部分— 选择键和索引
- C++自制Redis数据库(二)部分设计前置问题
- 数据库设计指南——第四部分(保证数据的完整性)