第一篇:VFP講稿(創(chuàng)建數(shù)據(jù)庫和表)
第二部分
數(shù)據(jù)庫的創(chuàng)建與單命令
創(chuàng)建數(shù)據(jù)庫和表
一、Visual FoxPro 6.0的配置
P28
二、項目及其管理器
P31
1.項目的概念
項目:是文件、數(shù)據(jù)、文檔和Visual FoxPro對象的集合,被保存為擴展名為PJX的文件。
建立項目可以對相關(guān)的內(nèi)容(項目的各組成部分)進行統(tǒng)一組織、統(tǒng)一管理。
項目管理器:是Visual FoxPro中處理數(shù)據(jù)和對象的主要組織工具,是Visual FoxPro的“控制中心”。
項目管理器為其各個組成部分提供了一個組織良好的分層結(jié)構(gòu)視圖。利用項目管理器,用戶可以創(chuàng)建、修改、移出或刪除文件。只要簡單地單擊鼠標,就可以跟蹤表和查詢,組織表單、報表、標簽、代碼、位圖和其它文件。
2.項目的創(chuàng)建
3.一個項目產(chǎn)生兩個文件.PJX和.PJT。4.打開/關(guān)閉項目 5.選項卡
三、Visual FoxPro 數(shù)據(jù)庫的基本操作
P93 1.建立數(shù)據(jù)庫
(1)在項目管理器中建立 *(2)從“新建”對話框中建立 *(3)用命令建立
P94(4)新建立的數(shù)據(jù)庫有三個文件
三個文件的擴展名分別是:dbc
dct
dcx ? dbc數(shù)據(jù)庫文件的擴展名 ? dct數(shù)據(jù)庫備注文件的擴展名 ? dcx數(shù)據(jù)庫索引文件的擴展名 2.打開和關(guān)閉數(shù)據(jù)庫(1)打開數(shù)據(jù)庫 有三種打開方法: ? 在項目管理器中打開 ? *從“打開”對話框中打開 ? *用命令打開
OPEN DATABASE命令
P95(2)關(guān)閉數(shù)據(jù)庫 CLOSE DATABASE 3.數(shù)據(jù)庫設(shè)計器
有三種打開方法: ? 在項目管理器中打開 ? *從“打開”對話框中打開 ? *用命令打開
MODIFY DATABASE命令
P98 4刪除數(shù)據(jù)庫
有兩種刪除方法: ? 在項目管理器中刪除 ? *用命令刪除
DELETE DATABASE命令
P99
四、數(shù)據(jù)庫表
1.建立數(shù)據(jù)庫表
P99(1)表設(shè)計器
(2)字段名:命名規(guī)則與內(nèi)存變量的命名規(guī)則相同??膳c內(nèi)存變量同名。(3)字段類型和寬度(4)建立數(shù)據(jù)庫表產(chǎn)生的文件(5)字段有效性組框(6)用命令建立表
使用命令CREATE <表名> 有打開的數(shù)據(jù)庫時,建立的是數(shù)據(jù)庫表,否則建立的是自由表。2.修改表結(jié)構(gòu)
P102(1)插入字段(2)刪除字段(3)修改字段
(4)用命令MODIFY STRUCTURE打開表設(shè)計器進行修改
五、自由表
如果當前沒有打開數(shù)據(jù)庫,創(chuàng)建的表是自由表。1.創(chuàng)建自由表。
2.自由表和數(shù)據(jù)庫表的異同。
自由表和數(shù)據(jù)庫表的設(shè)計器不同。*數(shù)據(jù)庫表有很多附加信息。3.將自由表添加到數(shù)據(jù)庫。4.從數(shù)據(jù)庫中移出表。
第二篇:數(shù)據(jù)庫VFP教學體會(推薦)
數(shù)據(jù)庫VFP教學體會
數(shù)據(jù)庫應用具有如下兩個特點:
(1)數(shù)據(jù)庫的應用領(lǐng)域廣泛。應用計算機進行信息管理,絕大部分都要使用數(shù)據(jù)庫來進行數(shù)據(jù)信息的存儲,因此,在其他課程中,(如VB等)也都要用到一些數(shù)據(jù)庫的相關(guān)知識。
(2)數(shù)據(jù)庫的種類繁多,不同種類的數(shù)據(jù)庫還分別有不同的版本。但無論哪一種數(shù)據(jù)庫,他們的基本內(nèi)容及應用原理是一致的,只不過在具體的實現(xiàn)過程中各有千秋。
通過以往計算機專業(yè)班的VFP教學,現(xiàn)對該課程進行了認真的分析,一方面分析了學生在以往的學習過程中常見問題的產(chǎn)生原因,一方面分析了教師在課堂教學過程中針對發(fā)現(xiàn)的問題該如何解決。
VFP作為數(shù)據(jù)庫的基礎(chǔ)課程,旨在讓學生通過學習,了解數(shù)據(jù)庫的基本原理及應用技術(shù)。更是一種用來進行管理信息系統(tǒng)開發(fā)的常用工具,是學生在校期間學習的一門重要基礎(chǔ)課程.由于VFP的特點與其它高級語言程序設(shè)計的特點不同,最明顯的區(qū)別在于數(shù)據(jù)庫程序設(shè)計的教學過程,從第一節(jié)課開始到最后一節(jié)課結(jié)束,都在講解同一個問題——如何把各種日常管理信息用計算機來進行管理。而這種形式的課程是學生以前從沒有接觸過的,他們還是帶著過去的學習方式來學習VFP數(shù)據(jù)庫程序設(shè)計的內(nèi)容,以至于學生的學習目標不明確,不知道學完后能用它來做什么;在學習過程中,習慣性地把每節(jié)課的內(nèi)容分散記憶,不能建立整體概念;每節(jié)課的內(nèi)容學會并不難,但并不十分清楚那一節(jié)課的內(nèi)容是整個管理系統(tǒng)的一個組成部分,在頭腦中很難建立起“系統(tǒng)開發(fā)”的整體概念。
分析上述問題產(chǎn)生的原因,總結(jié)了二點教學體會。
一、數(shù)據(jù)庫的教學重點應注重學生信息素養(yǎng)的培養(yǎng)
信息素養(yǎng)是指為了某種目的而尋找、處理和利用信息的能力,因此信息素養(yǎng)是一種非常重要的能力。依靠信息素養(yǎng),人們能夠進行有效的決策、交流、問題求解和研究,并進行終身的持續(xù)學習。學生的信息素養(yǎng)應包括對信息科學的理解,對信息活用的實踐能力。在VFP課程的學習中,應特別重視學生實踐能力的培養(yǎng),應特別重視學生以信息技術(shù)的方法解決實際問題能力的培養(yǎng)。
首先,在沒有開始講解課程內(nèi)容之前,教師先給學生演示完整的、內(nèi)容及應用領(lǐng)域不相同的管理系統(tǒng)實例(如:“學生管理系統(tǒng)”、“圖書管理系統(tǒng)”、“工資管理系統(tǒng)”“進銷存管理系統(tǒng)”等),通過演示及教師的講解,引導學生體會VFP的作用及應用領(lǐng)域,以及各管理系統(tǒng)的編程思維及各部分的相互聯(lián)系。然后讓學生親身體驗一下各管理系統(tǒng)的功能。讓學生真正體會到VFP強大的實用功能。通過對實例的實際操作后,學生們會對使用“ VFP數(shù)據(jù)庫程序設(shè)計”開發(fā)的信息管理系統(tǒng)產(chǎn)生感性認識,同時也會對VFP課程產(chǎn)生學習的興趣。此時,教師便可以進行正確的引導,闡明VFP課程學習與其他課程學習所有不同,它是一門連慣性的課程,并且各部分相互都有聯(lián)系,每一部分既是獨立的又與其它部分相呼應,比如數(shù)據(jù)庫中各數(shù)據(jù)表的建立及關(guān)鍵字段的設(shè)定與之后所建立的查詢都是有關(guān)聯(lián)的。需要從始至終來完成一個小型管理系統(tǒng)的制作。
其次,在VFP課堂教學過程中,始終堅持以“案例式”教學為主,適當結(jié)合其他教學方法來完成每一節(jié)課的教學。既把實例中整個“XXX信息管理系統(tǒng)”的分解結(jié)果,應用到每一節(jié)課的教學中之。在講解新課之前,首先給學生演示本節(jié)課將要制作的實例,讓學生對學習的內(nèi)容有一個直觀的感性認識,邏輯思維的建立,然后引入新課內(nèi)容。
最后,所有的基本內(nèi)容講解之后,留出足夠的時間,由教師引導學生按照系統(tǒng)開發(fā)的標準步驟開發(fā)其他管理系統(tǒng),讓學生清晰地學會系統(tǒng)開發(fā)的完整過程。
二、數(shù)據(jù)庫的教學應加強學生自主能力的培養(yǎng)
教學著重培養(yǎng)的是學生獲取信息的能力與自學能力、創(chuàng)新能力。在VFP的教學過程中應發(fā)揮學生的積極性、主動性和創(chuàng)造性。
1、教師要調(diào)整好與學生間的關(guān)系,突出學生的學習主體位置。把自己變成“一位合作伙伴”。讓他們在探究新知的過程中,暴露自己感知理解新知的矛盾和差異,把疑點和難點都擺在桌面上,再引導他們通過獨立思考,實現(xiàn)由感性認識到理性認識的轉(zhuǎn)化。例如:在學習“定時器”控件時時,先給學生展示一些內(nèi)容幽默的動畫作品,激發(fā)學生的求知熱情,并讓學生回憶過去的內(nèi)容:在VB中是如何實現(xiàn)動畫功能的?通過復習舊的知識,學生自主探究新的知識。
2、聯(lián)系實際是激發(fā)學生自主學習情感的前提。教學內(nèi)容或教材主題要與學生的學習生活、社會生活密切相關(guān),從中擴大眼界,促進使學生自主學習的興趣得到提升。例如:在進行“表單”教學時,可引導學生制作簡單的小游戲,然后將知識點轉(zhuǎn)移到數(shù)據(jù)庫設(shè)置當中。
3、在教學過程中應傾力培養(yǎng)學生自主學習的能力,使“任務(wù)式”升華為“自覺式”。指導學生提出問題,歸納知識。例如,教師在引導學生開發(fā)管理系統(tǒng)時,先讓學生分組找出自己感興趣的領(lǐng)域,然后寫出系統(tǒng)開發(fā)計劃書,最后小組合作完成整個系統(tǒng)的編制與調(diào)試。
4、給學生充分展現(xiàn)的機會,培養(yǎng)學生學習的自信心。例如:各組的管理系統(tǒng)開發(fā)完成后,以論文答辯的形式將成果展示給大家,以組為單位展示,小組成員是答辯者,其他學生是考核者。不僅鍛煉了學生的語言表達能力,還培養(yǎng)了學生科學的構(gòu)建知識架構(gòu)的能力。
第三篇:網(wǎng)絡(luò)數(shù)據(jù)庫講稿(表數(shù)據(jù)操作)
網(wǎng)絡(luò)數(shù)據(jù)庫講稿
一、插入數(shù)據(jù)
P131 1.INSERT … VALUES …
(1)VALUES所提供的值的個數(shù)、順序、數(shù)據(jù)類型,必須與字段名列表中的相一致。(2)關(guān)于NULL 和 DEFAULT
P133 CREATE TABLE NULLDEFAULT(ID SMALLINT IDENTITY(1,2), XM CHAR(8)NOT NULL, XB CHAR(2)DEFAULT '男', NL TINYINT, MZ CHAR(10)NOT NULL DEFAULT '漢族')INSERT NULLDEFAULT values('張三','女',30,'回族')
①如果省略了列名表和值表中的一列,那么當該列有默認值存在時,將使用默認值;如果默認值不存在,SQL會嘗試使用NULL值。
INSERT NULLDEFAULT(XM,MZ)values('張三','回族')INSERT NULLDEFAULT(XM)values('張三')
如果列已聲明了NOT NULL,嘗試的NULL值會失敗。
INSERT NULLDEFAULT(XM,MZ)values(NULL,'回族')INSERT NULLDEFAULT(MZ)values('回族')②如果在值表中明確指定了NULL,那么即使該列默認值存在,也仍會插入NULL值(假設(shè)該列允許NULL)。
③當在一個允許NULL且沒有聲明默認值的列中使用DEFAULT,會在該列插入NULL值。
INSERT NULLDEFAULT values('張三',NULL,default,'蒙古族')④如果在一個聲明NOT NULL且沒有聲明默認值的列中指定NULL或DEFAULT、或者省略了該值,會導致錯誤。
INSERT NULLDEFAULT values(NULL,NULL,default,'蒙古族')INSERT NULLDEFAULT values(DEFAULT,NULL,default,'蒙古族')INSERT NULLDEFAULT(MZ)values('回族')⑤可以把NULL插入到允許NULL且沒有默認值的列中。
INSERT NULLDEFAULT(XM,NL)values('張三',NULL)⑥具有標識屬性的列中不能使用關(guān)鍵字DEFAULT,不能在列名表中和值表中列出具有標識屬性的列和值。
INSERT NULLDEFAULT values(DEFAULT,DEFAULT,NULL,default,'蒙古族')2.INSERT … SELECT … 3.SELECT … INTO …
二、更新數(shù)據(jù)
P137
三、刪除數(shù)據(jù)
P141 1.DELETE 2.TRUNCATE TABLE
四、OUTPUT子句
P307 內(nèi)存邏輯表INSERTED和DELETED。
網(wǎng)絡(luò)數(shù)據(jù)庫講稿
INSERT NULLDEFAULT(XM)OUTPUT INSERTED.ID,INSERTED.XM,INSERTED.XB,INSERTED.NL,INSERTED.MZ values('趙一')INSERT NULLDEFAULT OUTPUT INSERTED.ID values('錢二','女',30,'回族')INSERT NULLDEFAULT OUTPUT INSERTED.ID,INSERTED.XM,INSERTED.XB,INSERTED.NL values('孫三',NULL,default,'蒙古族')UPDATE NULLDEFAULT SET MZ='維吾爾族' OUTPUT DELETED.ID,DELETED.XM,DELETED.XB,DELETED.MZ, INSERTED.ID,INSERTED.XM,INSERTED.XB,INSERTED.NL,INSERTED.MZ WHERE XM='趙一'
如果使用INTO子句,INTO子句中的表必須已存在。
CREATE TABLE ABC(ID SMALLINT, XM CHAR(8)NOT NULL, XB CHAR(2)DEFAULT '男', NL TINYINT, MZ CHAR(10)NOT NULL DEFAULT '漢族')
UPDATE NULLDEFAULT SET MZ='維吾爾族' OUTPUT DELETED.ID,DELETED.XM,DELETED.XB,DELETED.NL,DELETED.MZ INTO ABC WHERE XM='張三' OR XM='李四'
第四篇:oracle-sql語句-創(chuàng)建表空間、數(shù)據(jù)庫
1、查看表空間的名稱及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0)ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;
2、查看表空間物理文件的名稱及大小
select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0)total_space from dba_data_files order by tablespace_name;
3、查看回滾段名稱及大小
select segment_name, tablespace_name, r.status,(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = v.usn(+)order by segment_name;
4、查看控制文件
select name from v$controlfile;獲取創(chuàng)建表空間的sql select
dbms_lob.substr(dbms_metadata.get_ddl('TABLESPACE',a.tablespace_name))from dba_tablespaces a;
SQL> select sid,serial# from v$session where username='TEST';alter system kill session '150,9019';查看被鎖的表 select object_name,machine,s.sid,s.serial#,s.event from gv$locked_object l,dba_objects o,gv$session s where l.object_id=o.object_id and l.session_id=s.sid;alter system kill session ‘sid,serial#’;
5、查看日志文件
select member from v$logfile;
6、查看表空間的使用情況
select sum(bytes)/(1024*1024)as free_space,tablespace_name from dba_free_space group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES “% USED”,(C.BYTES*100)/A.BYTES “% FREE” FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
Select b.tablespace_name as表空間名,b.bytes as字節(jié)數(shù),(b.bytes-sum(nvl(a.bytes,0)))as已使用,sum(nvl(a.bytes,0))as剩余空間,sum(nvl(a.bytes,0))/(b.bytes)*100 as 剩余百分比 from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id;
7、查看數(shù)據(jù)庫庫對象
select owner, object_type, status, count(*)count# from all_objects group by owner, object_type, status;
8、查看數(shù)據(jù)庫的版本
Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';
9.查看某個表空間內(nèi)所占空間大于某個值的段(表或索引):
Select segment_name,bytes FROM dba_segments Where bytes>10000000 AND tablespace_name='tablespace_name';10.查看所有表空間的碎片程度(值在30以下表示碎片很多)
select tablespace_name,sum(bytes),sum(free),sum(free)*100/sum(bytes)from(select
b.file_id file_ID,b.tablespace_name tablespace_name,b.bytes Bytes,(b.bytes-sum(nvl(a.bytes,0)))used,sum(nvl(a.bytes,0))free,sum(nvl(a.bytes,0))/(b.bytes)*100
Percent
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id)group by tablespace_name order by sum(free)*100/sum(bytes);11.查看自上次數(shù)據(jù)庫啟動以來所有數(shù)據(jù)文件的讀寫次數(shù)
select
substr(DF.NAME,1,5)Drive,DF.NAME file_name,(fs.phyblkrd+fs.phyblkwrt)
from v$filestat fs,v$datafile df
where df.file#=fs.file#;
創(chuàng)建臨時表空間: //創(chuàng)建臨時表空間
create temporary tablespace mytest tempfile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;
//創(chuàng)建數(shù)據(jù)表空間
create tablespace mytest_data logging datafile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest_data.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;//創(chuàng)建用戶并指定表空間
create user testaccount identified by testpwd default tablespace mytest_data temporary tablespace mytest;//給用戶授予權(quán)限
grant connect,resource to testaccount;(db2:指定所有權(quán)限)12,創(chuàng)建一個用戶:
CREATE USER username IDENTIFIED BY password OR IDENTIFIED EXETERNALLYOR IDENTIFIED GLOBALLY AS ‘CN=user’[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE temptablespace][QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[PROFILES profile_name][PASSWORD EXPIRE][ACCOUNT LOCK or ACCOUNT UNLOCK];
//查看數(shù)據(jù)庫中的所有用戶: select * from all_users;//or select * from dba_users 13查看oracle最大連接數(shù): Select session_max,session_current,sessions_highwater,users_max from v$license;Select username,count(username)from v$session group by username;加密存儲過程 WRAP
INAME=D:ORACLESOURCEDATE.SQL ONAME=D:ORACLESOURCEDATA.PLD
第五篇:圖書管理系統(tǒng)--創(chuàng)建數(shù)據(jù)庫和表
/* 1管理員表(L_Administrator)字段名 字段說明 數(shù)據(jù)類型 約束 備注 a_id 管理員編號 int Primary Key Identity(1000,1)a_name 管理員姓名 nvarchar(20)Not null a_pwd */ use Library go create table L_Administrator(a_id int not null primary key Identity(1000,1), a_name nvarchar(20)not null, a_pwd varchar(20)not null);
/* 2職務(wù)類型表(L_Duty)字段名 字段說明 數(shù)據(jù)類型 約束 備注 d_id 職務(wù)編號 int Primary Key Identity(1000,1)d_name 職務(wù)名稱 nvarchar(20)Not null d_maxcount 最大借閱數(shù)量 tinyint Not Null */ use Library go create table L_Duty(d_id int not null primary key Identity(1000,1), d_name nvarchar(20)not null, d_maxcount tinyint not null);
/* 3讀者表(L_Reader)字段名 字段說明 數(shù)據(jù)類型 管理員密碼 varchar(20)
Not Null
約束 備注
r_id 讀者編號 bigint Primary Key r_name 讀者姓名 nvarchar(20)Not Null r_pwd r_sex 讀者密碼 讀者性別 varchar(20)Not Null bit Not Null
int Foreign Key 職務(wù)類型表的主鍵
r_typeid 職務(wù)類型
r_academy 所在院系 nVarchar(20)r_major 專業(yè) nVarchar(20)
r_contact 聯(lián)系方式 Varchar(20)r_email 郵箱 nvarchar(20)
r_photo 讀者照片 */ use Library nVarchar(100)
存的是讀者照片的路徑 go create table L_Reader(r_id bigint not null primary key, r_name nvarchar(20)not null, r_pwd varchar(20)not null, r_sex bit not null, r_typeid int not null, r_academy nvarchar(20), r_major nvarchar(20), r_contact varchar(20), r_email varchar(20), r_photo nvarchar(100));alter table L_Reader add constraint fk_dtypeid foreign key(r_typeid)references L_Duty(d_id)on delete cascade on update cascade;
/*創(chuàng)建一個存儲過程*/ use Library go create procedure reader @r_id bigint, @r_name nvarchar(20), @r_pwd varchar(20), @r_sex bit, @r_typeid int, @r_academy nvarchar(20), @r_major nvarchar(20), @r_contact varchar(20), @r_email varchar(20), @r_photo nvarchar(100)as begin insert into L_Reader(r_id,r_name,r_pwd,r_sex,r_typeid,r_academy,r_major,r_contact,r_email,r_photo)values(@r_id,@r_name,@r_pwd,@r_sex,@r_typeid,@r_academy,@r_major,@r_contact,@r_email,@r_photo);end /* 4圖書類型表(L_BookType)字段名 字段說明 數(shù)據(jù)類型 bt_id 類型編號 bt_name 類型名稱 */
約束 備注
int Primary Key Identity(1000,1)nVarchar(20)Not null use Library go create table L_BookType(bt_id int not null primary key Identity(1000,1), bt_name nvarchar(20)not null);
/* 5出版社信息表(L_Publishing)字段名 字段說明 數(shù)據(jù)類型 ISBN */ use Library go create table L_Publishing(ISBN char(13)not null primary key, p_name nvarchar(30)not null);
/* 6圖書信息表(L_Book)字段名 字段說明 數(shù)據(jù)類型 國際標準圖書編碼
約束 備注
char(13)Primary Key
p_name 出版社名稱 nvarchar(30)Not Null
約束 備注
b_id 圖書編號 Varchar(30)Primary Key Identity(1000,1)b_name 圖書名稱 nvarchar(30)Not Null ISBN 國際標準圖書編碼 char(13)Foreign Key 13位數(shù)字組成 b_bkcaseid 書架編號 Varchar(20)
b_price 定價 b_author 作者 Numeric(10,2)nvarchar(20)
b_typeid 類型編號 int Foreign Key b_intime 入庫時間 DateTime b_synopsis 圖書簡介 Nvarchar(500)b_state 圖書狀態(tài) b_photo 封面圖片 */ use Library go
create table L_Book(b_id varchar(20)not null primary key , b_name nvarchar(30)not null, ISBN char(13), b_bkcaseid varchar(20), b_price Numeric(10,2)not null, b_author nvarchar(20), b_typeid int, b_intime DateTime,bit 0--借出,1--沒有借出 Nvarchar(100)存的是路徑 b_synopsis nvarchar(1000), b_state bit not null default 0, b_photo nvarchar(100));
alter table L_Book add L_BookType(bt_id)on delete cascade on update cascade;alter table L_Book add constraint fk_bisbn foreign key(ISBN)references L_Publishing(ISBN)on delete cascade on update cascade;alter table L_Book drop column b_bkcaseid /*創(chuàng)建存儲過程*/ use Library go create procedure book @b_name nvarchar(30), @ISBN char(13), @b_bkcaseid varchar(20), @b_price numeric(10,2), @b_author nvarchar(20), @b_intime datetime,@b_synopsis nvarchar(1000), @b_photo nvarchar(100)as begin insert into L_Book(b_name,ISBN,b_bkcaseid,b_price,b_author,b_intime,b_synopsis,b_photo)values(@b_name,@ISBN,@b_bkcaseid,@b_price,@b_author,@b_intime,@b_synopsis,@b_photo);end /* 7借閱管理表(L_Borrow)字段名 字段說明 數(shù)據(jù)類型
constraint fk_btypeid foreign key(b_typeid)references
約束 備注
bw_id 借閱編號 int Primary Key Identity(1,1)bw_bookid 圖書編號 Varchar(20)Foreign Key bw_readerid 讀者編號 bw_outtime 借出日期 bw_endtime 到期日期 bw_backtime 歸還日期 bw_isexpired 是否過期 bw_fine 罰款數(shù)目 */ use Library
Int Foreign Key DateTimeNot Null DateTimeNot Null
DateTime
Bit Not Null 默認為0--不過期
過期后才計算罰款數(shù)目 Numeric(10,2)go create table L_Borrow(bw_id int not null primary key Identity(1,1), bw_bookid varchar(20), bw_readerid bigint , bw_outtime datetime not null,bw_endtime as dateadd(d,30,bw_outtime), bw_backtime datetime, bw_isexperied bit default 0, bw_fine numeric(10,2)default 0.00);alter table L_Borrow add constraint fk_bookid foreign key(bw_bookid)references L_Book(b_id)on delete cascade on update cascade;alter table L_Borrow add constraint fk_readerid foreign key(bw_readerid)references L_Reader(r_id)on delete cascade on update cascade;/* 8圖書資源表(L_Resource)字段名 字段說明 數(shù)據(jù)類型
約束 備注
rs_id 資源編號 Int Primary Key Identity(1000,1)rs_name 資源名稱 nVarchar(30)Not null rs_synopsis 資源簡介 nVarchar(500)rs_amount 資源大小 int 單位為KB或是MB rs_type 資源類型 等常用格式 */ use Library go create table L_Resource(rs_id int not null primary key Identity(1000,1), rs_name nvarchar(30)not null, rs_synopsis nvarchar(500), rs_amount bigint, rs_type varchar(20));
/* 9圖書評論表(L_BookMarks)
字段名 字段說明 數(shù)據(jù)類型 約束 備注 ISBN 國際標準圖書編碼 char(13)Foreign Key bm_contents 評論內(nèi)容 Nvarchar(500)Not Null bm_time 評論時間 DateTimeNot Null */ Varchar(20)
類似于doc、xsl、ppt、pdf、zip、rar、MP3、wmvuse Library go create table L_BookMarks(ISBN char(13)not null, bm_contents nvarchar(500)not null, bm_time datetime not null);alter table L_BookMarks add constraint fk_bmisbn foreign key(ISBN)references L_Publishing(ISBN)on delete cascade on update cascade;/* 10書架信息表(L_BookCase)字段名 字段說明 數(shù)據(jù)類型 約束 備注
bc_id 書架編號 int Primary Key Identity(1000,1)bc_typeid 類型編號 int Foreign Key
*/ use Library go create table L_BookCase(bc_id int not null primary key Identity(1000,1), bc_typeid int not null);alter table L_BookCase add constraint fk_bctypeid foreign key(bc_typeid)L_BookType(bt_id);
references