2011-07-07 74 views
1

我有這個大的數據庫表跟蹤(目前正在生產),通過以下方式進行人員醫療認證:日期到期(exp),公司,如果我們有檔案和數字拷貝的位置。我們跟蹤許多(不斷增長)的類別,如CPR,CPR兒童,AED,救生等...拿一張巨大的桌子,把它分成更小更容易的桌子嗎?

如何使這更容易管理,以及如何遷移現有數據?我的ColdFusion Web應用程序運行SQL Server 2008的

CREATE TABLE [dbo].[mod_StudentCertifications](
    [certificationID] [int] IDENTITY(1,1) NOT NULL, 
    [profileID] [int] NOT NULL, 
    [cprAdultExp] [datetime] NULL, 
    [cprAdultcompany] [nvarchar](250) NULL, 
    [cprAdultImage] [nvarchar](4000) NULL, 
    [cprAdultOnFile] [bit] NULL, 
    [cprInfantChildExp] [datetime] NULL, 
    [cprInfantChildcompany] [nvarchar](250) NULL, 
    [cprInfantChildImage] [nvarchar](4000) NULL, 
    [cprInfantChildOnFile] [bit] NULL, 
    [cprFPRExp] [datetime] NULL, 
    [cprFPRcompany] [nvarchar](250) NULL, 
    [cprFPRImage] [nvarchar](4000) NULL, 
    [cprFPROnFile] [bit] NULL, 
    [aedExp] [datetime] NULL, 
    [aedcompany] [nvarchar](250) NULL, 
    [aedImage] [nvarchar](4000) NULL, 
    [aedOnFile] [bit] NULL, 
    [firstAidExp] [datetime] NULL, 
    [firstAidcompany] [nvarchar](250) NULL, 
    [firstAidImage] [nvarchar](4000) NULL, 
    [firstAidOnFile] [bit] NULL, 
    [emtExp] [datetime] NULL, 
    [emtcompany] [nvarchar](250) NULL, 
    [emtImage] [nvarchar](4000) NULL, 
    [emtOnFile] [bit] NULL, 
    [waterSafetyInstructionExp] [datetime] NULL, 
    [waterSafetyInstructioncompany] [nvarchar](250) NULL, 
    [waterSafetyInstructionImage] [nvarchar](4000) NULL, 
    [waterSafetyInstructionOnFile] [bit] NULL, 
    [bloodPathogensExp] [datetime] NULL, 
    [bloodPathogenscompany] [nvarchar](250) NULL, 
    [bloodPathogensImage] [nvarchar](4000) NULL, 
    [bloodPathogensOnFile] [bit] NULL, 
    [oxygenAdminExp] [datetime] NULL, 
    [oxygenAdmincompany] [nvarchar](250) NULL, 
    [oxygenAdminImage] [nvarchar](4000) NULL, 
    [oxygenAdminOnFile] [bit] NULL, 
    [lifegaurdingExp] [datetime] NULL, 
    [lifegaurdingcompany] [nvarchar](250) NULL, 
    [lifegaurdingImage] [nvarchar](4000) NULL, 
    [lifegaurdingOnFile] [bit] NULL, 
    [wildernessResponderExp] [datetime] NULL, 
    [wildernessResponderCompany] [nvarchar](250) NULL, 
    [wildernessResponderImage] [nvarchar](4000) NULL, 
    [wildernessResponderOnFile] [bit] NULL, 
    [certNotes] [nvarchar](4000) NULL, 
    [isActive] [bit] NULL, 
    [certClassRegistered] [bit] NULL, 
    [lifeguardInstrcutorExp] [datetime] NULL, 
    [lifeguardInstrcutorCompany] [nvarchar](250) NULL, 
    [lifeguardInstrcutorImage] [nvarchar](4000) NULL, 
    [lifeguardInstrcutorOnFile] [bit] NULL 

回答

5

如何通知你所有的證書都具有相同的信息重複列:到期,公司,圖片,OnFile?這是一個很大的線索,你需要進一步規範你的設計。

在一個完美的世界中(您可以進行模式更改),我將創建一個通用學生/證書表,其中包含列的通用元素,列舉證書的另一個表的外鍵水安全,荒野等)和另一個將學生鏈接到這些認證的外鍵。例如:

enter image description here

+0

有沒有簡單的方法來移動數據? –

+2

這取決於您希望在移動數據時發生的情況。生成新表後,生成腳本是微不足道的,但是應用程序是否可以脫機,以便用戶在數據移動時不會影響更改? –

+0

它可以脫機移動數據。 –

相關問題