• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            brent's hut

            數(shù)據(jù)庫(kù)的表和字段的注釋。表的結(jié)構(gòu)

            這里的表結(jié)構(gòu)指的表的基本信息:表名,表的注釋(備注),字段名,字段類型,長(zhǎng)度,是否允許空,缺省值,字段注釋(備注)。
            ?
            主要的是注釋..你的表名叫l(wèi)cxxb,字段名叫l(wèi)cmc,智商300的用戶也看不懂你這是拼音,意思是"流程信息表"和"流程名稱"。大家的思路都不一樣。

            我要做到的就是讓用戶看到的是"流程信息表"和"流程名稱"而實(shí)際操作的是lcxxb和lcmc。
            你自己建個(gè)表XXX來(lái)保存lcxxb,lcmc和"流程信息表","流程名稱"的對(duì)映吧。是相當(dāng)麻煩的事情,
            1,造成數(shù)據(jù)冗余,人家數(shù)據(jù)庫(kù)基本上都能讓你給表和字段寫注釋,你還自己搞一套..
            2,每次修改表都要去修改一下這張表,刪除的表和字段要?jiǎng)h除,更新的表和字段要更新,新建的表和字段要新建,累..
            3,每次創(chuàng)建數(shù)據(jù)庫(kù)都要獨(dú)立的再填寫表XXX的內(nèi)容。每次修改了數(shù)據(jù)庫(kù)設(shè)計(jì),創(chuàng)建數(shù)據(jù)庫(kù)的程序也要跟著修改。
            所以俺還是老老實(shí)實(shí)用數(shù)據(jù)庫(kù)提供的注釋或備注或數(shù)據(jù)字典功能吧。

            但是這又涉及一個(gè)問(wèn)題:各種數(shù)據(jù)庫(kù)保存注釋(備注)的方法不一樣,雖然現(xiàn)在只用MS Sql server,但難保以后不會(huì)用Oracle。要不是大家都各搞一套,巴別塔也許早就建成了。
            ?
            SQL server下的方法(摘自 SQL Server下生成數(shù)據(jù)庫(kù)框架):
            SQL Server下生成數(shù)據(jù)庫(kù)框架。
            經(jīng)過(guò)反復(fù)學(xué)習(xí)和測(cè)試,最后發(fā)現(xiàn)自定義的視圖才能簡(jiǎn)單地勝任所需要的工作,否則把事情會(huì)變得很復(fù)雜。
            視圖代碼如下
            CREATE VIEW dbo.Data_Frame
            AS
            SELECT dbo.syscolumns.name AS Name, dbo.systypes.name AS Type,
            ????? dbo.syscolumns.length AS Width, dbo.syscolumns.isnullable AS IsNull,
            ????? dbo.sysproperties.[value], dbo.sysobjects.name AS Table_Name
            FROM dbo.sysobjects INNER JOIN
            ????? dbo.syscolumns ON dbo.sysobjects.id = dbo.syscolumns.id INNER JOIN
            ????? dbo.sysproperties ON dbo.syscolumns.colid = dbo.sysproperties.smallid AND
            ????? dbo.syscolumns.id = dbo.sysproperties.id INNER JOIN
            ????? dbo.systypes ON dbo.syscolumns.xtype = dbo.systypes.xtype AND
            ????? dbo.syscolumns.xusertype = dbo.systypes.xusertype

            最后輸出的是:
            列名
            系統(tǒng)類型
            限制長(zhǎng)度
            是否允許為空
            備注
            所在表
            可以進(jìn)一步根據(jù)需要增加/刪除自己希望的部分。
            調(diào)用:
            Select * From [自定義的視圖名稱] Where Table_Name='[希望檢索的表名]'

            或者 取得一個(gè)表中所有的字段列表及字段描述的方法:
            字段名列表:
            select Name from syscolumns where id=object_id('custmoerinfo')
            字段描述:
            select * from ::fn_listextendedproperty(NULL, 'user', 'dbo', 'table', 'custmoerinfo','column', default)

            ORACLE下的方法(摘自Oracle數(shù)據(jù)字典的介紹與應(yīng)用實(shí)例):
            ORACLE自己搞了一套數(shù)據(jù)字典創(chuàng)建表的SQL語(yǔ)句如下
            --" 創(chuàng)建數(shù)據(jù)表
            create table TABLE_TEST
            (
              NAME varchar2(40) not null,
              SEX varchar2(1) default 'Y' not null,
              BIRTHDAY date not null,
              HEIGHT number(3,2),
              WEIGHT number(3,2),
              MEMO blob
            );
            -- 給列添加備注
              comment on column TABLE_TEST.NAME is '姓名';
              comment on column TABLE_TEST.SEX is '性別';
              comment on column TABLE_TEST.BIRTHDAY is '生日';
              comment on column TABLE_TEST.HEIGHT is '身高';
              comment on column TABLE_TEST.WEIGHT is '體重';
              comment on column TABLE_TEST.MEMO is '備注';
            -- 創(chuàng)建約束關(guān)系 主鍵 外鍵 其他
              alter table TABLE_TEST add constraint TB_TEST_P_NAME primary key (NAME);
              
            數(shù)據(jù)表創(chuàng)建完畢,執(zhí)行下列SQL語(yǔ)句:
              select
              A.column_name 字段名,A.data_type 數(shù)據(jù)類型,A.data_length 長(zhǎng)度,A.data_precision 整數(shù)位,
              A.Data_Scale 小數(shù)位,A.nullable 允許空值,A.Data_default 缺省值,B.comments 備注
              from
              user_tab_columns A,user_col_comments B
              where
              A.Table_Name = B.Table_Name
              and A.Column_Name = B.Column_Name
              and A.Table_Name = 'TABLE_TEST'
              
            我們可以得出以下結(jié)果:
            字段名 數(shù)據(jù)類型 長(zhǎng)度 整數(shù)位 小數(shù)位 允許空值 缺省值 備注
            Name varchar2 40 ? ? N <long> 姓名
            Sex varchar2 1 ? ? N <long> 性別
            ........


            ?

            學(xué)習(xí)數(shù)據(jù)庫(kù)的一些資料:

            存儲(chǔ)過(guò)程的好處:1編譯2封裝3重復(fù)使用4安全性5減少網(wǎng)絡(luò)流量

            JDBC讀取字段需要按順序的原因?:SQL數(shù)據(jù)庫(kù)在構(gòu)造虛擬表的時(shí)候就是以一種先進(jìn)先出的原則,把所有的數(shù)據(jù)排列在一個(gè)內(nèi)存段之中,通過(guò)順序的讀取,將數(shù)據(jù)逐一的讀取,而如果跳過(guò)某個(gè)具體的字段獲取下一個(gè)字段的信息,系統(tǒng)就會(huì)將原來(lái)的那個(gè)字段的信息丟失,以釋放內(nèi)存,這是出于系統(tǒng)構(gòu)造的簡(jiǎn)單性和系統(tǒng)的內(nèi)存最低化的要求,所以這樣也保證了有限的內(nèi)存資源得到最充分的發(fā)揮。?

            在SQL Server中保存和輸出圖片http://www.pcdog.com/p/html/2004124/41220041381_1.htm

            很好的一個(gè)電子書下載地址http://www.ibook8.com/book/shuju.htm

            posted on 2005-12-08 12:03 brent 閱讀(1158) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Database

            久久精品国产亚洲AV影院| 亚洲精品高清一二区久久| 新狼窝色AV性久久久久久| 亚洲国产精品成人久久| 久久久噜噜噜www成人网| 国产精品久久久久一区二区三区 | 亚洲日本久久久午夜精品| 亚洲一级Av无码毛片久久精品| 欧美日韩精品久久久久| 久久国产精品一国产精品金尊| 国产一区二区三精品久久久无广告 | 91精品国产91热久久久久福利 | 成人综合伊人五月婷久久| 久久国产香蕉一区精品| 精品国产乱码久久久久久呢 | 久久精品国产99久久久古代| 久久本道伊人久久| 久久无码国产专区精品| 久久综合综合久久狠狠狠97色88| 思思久久99热只有频精品66| 久久精品国产福利国产秒| 亚州日韩精品专区久久久| 精品九九久久国内精品| 亚洲精品乱码久久久久久蜜桃不卡 | avtt天堂网久久精品| 久久伊人五月天论坛| 中文字幕久久欲求不满| 久久不见久久见免费视频7| 99精品国产综合久久久久五月天 | 偷偷做久久久久网站| 精品水蜜桃久久久久久久| 久久99热国产这有精品| 久久99精品久久只有精品| 亚洲av成人无码久久精品| 久久婷婷五月综合国产尤物app | 久久高清一级毛片| 久久精品亚洲男人的天堂| 久久久久噜噜噜亚洲熟女综合| 亚洲欧美精品伊人久久| 久久99国产精一区二区三区| 色噜噜狠狠先锋影音久久|