Technical Manual. Lesotho Health Data Warehouse. Prepared by: Gareth Daniell. Prepared for:
|
|
- Pierce Gray
- 6 years ago
- Views:
Transcription
1 Technical Manual Lesotho Health Data Warehouse Prepared by: Gareth Daniell Prepared for: The Lesotho Department of Health Planning and Statistics, Lesotho Bureau of Statistics and the World Bank, General Data Dissemination System, Socio-Demographic Statistics Project for Anglophone Africa September 2009
2 TABLE OF CONTENTS 1. INTRODUCTION DOCUMENT PURPOSE AND OBJECTIVES WHO SHOULD READ THIS DOCUMENT DATABASES CREATING THE DISTRICTDATA DATABASE DEFINING USERS CREATING THE MOHSW_DATAWAREHOUSE DATABASE 4 3. IMPORT TOOLS) UPLOADING IMPORTING IMPORTING DETAIL IMPORTING DETAIL DATA CONVERSION REQUIRED ANNEXURES ANNEXURE 1: DISTRICT DATABASE SQL SCRIPT ANNEXURE 2: MOHSW_DATAWAREHOUSE DATABASE SQL SCRIPT 29 2
3 1. INTRODUCTION Document Purpose and Objectives The purpose of this document is to provide high level technical guide on the source code for the Lesotho data warehouse Who should read this document Software developers responsible for the maintenance and support of Lesotho s health statistics data warehouse and related import tools. This document should also be used by other countries electing to make use of the Lesotho data warehouse as a framework for their own data warehouse. 2. DATABASES The system utilizes 2 MS SQL databases MOHSW_DistrictData and MOHSW_Datawarehouse). DistrictData contains users, rights, roles and districts, and it tracks the status of the MS Access file, whether it is uploaded, verified, deleted or imported. This is used by the website to logon to the application so that users may perform their tasks based on their roles and rights. The DistrictData database contains a typical set of roles and rights and may be used as is or with minimal changes. Datawarehouse contains the actual statistical data used for warehouse reporting and analysis. As per data warehouse design principles, the tables in this database may closely resemble the source transactional databases, but instead of emphasis being placed on database normalization, attention is instead placed on timely reporting. In the event that the required warehouse design skills are not available it is possible for the warehouse database to mimic the transaction source databases exactly. To create the DistrictData database, copy the script and execute it in MS SQL Server Management Studio: 3
4 2.1.1 Creating the DistrictData Database Refer to Annexure 1: District Database SQL Script for the SQL script to create the DistrictData database. In the event that your country is divided into provinces or states etc. instead of districts, the text [district] may be safely substituted as needed Defining Users The website uses role base authorization. You will need to define the user with the necessary privileges to create additional users and perform any additional tasks in the MS SQL database. Creating the default admin user: o Define a role in the Role table, e.g. Admin; Define all roles as in UserRole enum in Enumerations file o o o o Define a right in the Right table, e.g. View_All_Districts Define all rights as in Right enum in PageBase file Create a record in the RoleRight table that gives the created role, e.g. Admin, the right to view all district data, e.g. View_All_Districts Create a user, e.g. Admin1, in ImportUser and set the password to 7c6a180b36896a0a8c02787eeafb0e4c decoded as the string password1 ) Create a record in ImportUserRole to give the Admin user the Admin role If everything is in order, run the application and see if you can log on to the system using the newly created Admin user Creating the MOHSW_DataWarehouse Database Refer to Annexure 2: MOHSW_Datawarehouse Database SQL Script for the SQL script to create the database that will contain the statistical data. The script in Annexure 2: MOHSW_Datawarehouse Database SQL Script refers specifically to Lesotho s data warehouse layout as at the time of design. Additional source database need to be added to this script as and when they become necessary. As per data warehouse design principles, the tables in this database may closely resemble the source transactional databases, but instead of emphasis being placed on database normalization, attention is instead placed on timely reporting. In the event that the required warehouse design skills are not available it is possible for the warehouse database to mimic the transaction source databases exactly. 4
5 3. IMPORT TOOLS) Uploading The system is dependent on the MS Access database file that the district uploads to the system. The user selects the district for which they are uploading the file. o Districts are defined in the District table in MS SQL database. Then selects the file type o These are defined in ImportType table. Selects the date. o This date will be used when it comes to the import process. User then clicks the Browse button to select the file this is the MS Access database file to be used to import from) User clicks upload This is what is happening when the Upload Button is clicked: code snippet start string UploadLocationURL = System.Configuration.ConfigurationManager.AppSettings["UploadLocation"]; o Get the uploadlocation from the web.config file actualfilename = distname + selecteddate.month.tostring) + selecteddate.year.tostring) + "IPD" + MyNewFileUpload.FileName; o Construct the file name MyNewFileUpload.SaveAsUploadLocationURL + actualfilename); o Save the file to the server if!validateuploadfileactualfilename))) { // Delete the database from the upload location. fi.delete); return; } o Check if the file contains the month and the year specified in the selected date. o Delete the file in the data does not exist uploaddata); o Connect to SQL Server database and insert data into ImportDataFiles code snippet end Figure 1 - Upload Button Code Snippet The method used to perform the upload of the database from the user s machine to the server: code snippet start private void uploaddata) { try { 5
6 DateTime selecteddate = Convert.ToDateTimetextBoxCalendar.Text.ToString)); Database db = DatabaseFactory.CreateDatabase"DataWareHouse"); string sqlcommand = string.empty; DbCommand dbcommand = null; SessionInfo si = SessionInfo)Session["SessionInfo"]; string uploadfileloc = System.Configuration.ConfigurationManager.AppSettings["virtualUploadL ocation"].tostring); uploadfileloc += tbfiledescription.text.tostring); sqlcommand = "spaddimportdatafiles"; dbcommand = db.getstoredproccommandsqlcommand); if!si.hasaccessright.view_all_districts)) { db.addinparameterdbcommand, "@FKDistrictID", DbType.Int32, si.districtid); } else ifsi.hasaccessright.view_all_districts)) { string selecteddist = DropDownListDistrict.SelectedValue.ToString); int intdistid = LoadUserDistrictIDselectedDist); db.addinparameterdbcommand, "@FKDistrictID", DbType.Int32, intdistid); } db.addinparameterdbcommand, "@FKImportTypeID", DbType.Int32, CentralDropDownImportType.SelectedValue); db.addinparameterdbcommand, "@FileLocation", DbType.StringFixedLength, uploadfileloc); db.addinparameterdbcommand, "@FileDescription", DbType.StringFixedLength, tbfiledescription.text.tostring)); db.addinparameterdbcommand, "@UploadDate_Intended", DbType.DateTime, selecteddate); db.addinparameterdbcommand, "@DateUploaded", DbType.DateTime, DateTime.Now); db.addinparameterdbcommand, "@Verified", DbType.Boolean, false); db.addinparameterdbcommand, "@ImportedToDW", DbType.Boolean, false); db.executenonquerydbcommand); } catch Exception ex) { // todo log error throw; } } code snippet end Figure 2 UploadData) Method - Upload Button Code Snippet contd. 6
7 3.1.2 Importing The following instructions assume that the file has been uploaded successfully. Get the data to be imported from MS Access File e.g.: o query = "Select * from Register"; this is the query used to get the data from MS Access file Butha Buthe92008IPDInpatient.mdb), this file will be in the folder virtualuploadlocation /DataWareHouse/Uploaded ) defined in the appsettings in the web.config file o dbadapter = new OleDbDataAdapterquery, accconn); dbadapter.filldbtable); User OleDbDataAdapter to fill the data table in memory with the data from the MS Access file o DatabaseImport databaseimport = new DatabaseImport); databaseimport.copyinpatientdatasourcetable); this is where the import is happening Following is the complete code that copies the data from the filled datatable dbtable, MS Access database file) to the MS SQL database code snippet start public void CopyInpatientDataDataTable sourcetable) { try { Database db = DatabaseFactory.CreateDatabase"DataWareHouseStore"); string sqlcommand = string.empty; DbCommand dbcommand = null; foreach DataRow drow in sourcetable.rows) { sqlcommand = "spaddinpatientregister"; dbcommand = db.getstoredproccommandsqlcommand); db.addinparameterdbcommand, "@FKFacilityID", DbType.Int32, Convert.ToInt32hashFacility[drow["Hopital"].ToString).Trim)])); db.addinparameterdbcommand, "@FormNumber", DbType.Int32, Convert.ToInt32drow["FormNumber"].ToString).Trim))); db.addinparameterdbcommand, "@RegisterUser", DbType.StringFixedLength, drow["user"].tostring).trim)); db.addinparameterdbcommand, "@Ward", DbType.StringFixedLength, drow["ward"].tostring).trim)); db.addinparameterdbcommand, "@AdmissionDate", DbType.DateTime, Convert.ToDateTimedrow["AdmissionDate"].ToString).Trim))); db.addinparameterdbcommand, "@DischargeDate", DbType.DateTime, 7
8 Convert.ToDateTimedrow["DischargeDate"].ToString).Trim))); db.addinparameterdbcommand, DbType.StringFixedLength, drow["sex"].tostring).trim)); db.addinparameterdbcommand, DbType.Double, Convert.ToDoubledrow["Age"].ToString).Trim))); db.addinparameterdbcommand, DbType.StringFixedLength, drow["agemodulo"].tostring).trim)); db.addinparameterdbcommand, DbType.Boolean, Convert.ToBooleandrow["LsCitizen"].ToString).Trim))); db.addinparameterdbcommand, DbType.Int32, Convert.ToInt32hashDiagnosisID[drow["Code"].ToString).Trim)])); db.addinparameterdbcommand, DbType.Int32, Convert.ToInt32drow["Outcome"].ToString).Trim))); db.executenonquerydbcommand); } } catch Exception ex) { throw new Exception"Failed to import Inpatient Register data due to : " + ex.message.trim)); } code snippet end Importing Detail Figure 3 Importing: Copy ) Method Database db = DatabaseFactory.CreateDatabase"DataWareHouseStore"); - Create the database object using the DataWareHouseStore connection string, making use of the Enterprise library. foreach DataRow drow in sourcetable.rows) { } - Go through all the rows in the sourcetable table created from MS Access file) sqlcommand = "spaddinpatientregister"; dbcommand = db.getstoredproccommandsqlcommand); - Get the stored procedure to be used to insert the data to the database db.addinparameterdbcommand, "@FormNumber", DbType.Int32, Convert.ToInt32drow["FormNumber"].ToString).Trim))); - Add the values of the parameter in the stored procedure 8
9 db.executenonquerydbcommand); - Run the stored procedure on the database code snippet start CREATE PROCEDURE int = int = varchar255) = varchar50) = datetime = datetime = char1) = float = varchar50) = bit = int = smallint = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED INSERT INTO dbo.inpatientregister FKFacilityID, FormNumber, RegisterUser, Ward, AdmissionDate, DischargeDate, Sex,Age, AgeModulo, LSCitizen, FKdiagnosisID, Outcome @Outcome ) END code snippet end Figure 4 Insert Stored Procedure Example code snippet start CREATE TABLE [dbo].[inpatientregister] [PKPatientRegisterID] [int] IDENTITY1,1) NOT NULL, [FKFacilityID] [int] NOT NULL, [FormNumber] [int] NULL, [RegisterUser] [varchar]255) NULL, [Ward] [varchar]50) NULL, [AdmissionDate] [datetime] NULL, [DischargeDate] [datetime] NULL, [Sex] [char]1) NULL, [Age] [float] NULL, [AgeModulo] [varchar]50) NULL, [LSCitizen] [bit] NULL, [FKdiagnosisID] [int] NULL, [Outcome] [smallint] NULL, CONSTRAINT [PK_InPatientRegister] PRIMARY KEY CLUSTERED 9
10 [PKPatientRegisterID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] SET ANSI_PADDING OFF ALTER TABLE [dbo].[inpatientregister] WITH CHECK ADD CONSTRAINT [FK_InPatientRegister_Facility] FOREIGN KEY[FKFacilityID]) REFERENCES [dbo].[facility] [PKFacilityID]) ALTER TABLE [dbo].[inpatientregister] CHECK CONSTRAINT [FK_InPatientRegister_Facility] ALTER TABLE [dbo].[inpatientregister] WITH CHECK ADD CONSTRAINT [FK_InPatientRegister_InpatientDiagnosis] FOREIGN KEY[FKdiagnosisID]) REFERENCES [dbo].[inpatientdiagnosis] [PKDiagnosisID]) ALTER TABLE [dbo].[inpatientregister] CHECK CONSTRAINT [FK_InPatientRegister_InpatientDiagnosis] code snippet end Figure 5 Warehouse Database Table Example Importing Detail data conversion required Some imports may be more difficult that others, like the OPD whose datawarehouse tables have been optimised for reporting so the strucure of the MS Access source tables and MS SQL Table are different to one another). To import the OPD data from the file the same logical process is followed: - Get the data to be imported from MS Access file - Copy the data to MS SQL database The following method can be found in the DatabaseImport.cs file code snippet start public void CopyOPDMonthlyDataDataTable sourcetable) { IList<OutPatientRegister> outpatientregisters = GetPatientRegisterssourceTable); Database db = DatabaseFactory.CreateDatabase"DataWareHouseStore"); DbCommand command = db.getstoredproccommand"spaddoutpatientregister"); 10
11 db.addinparametercommand, DbType.String); db.addinparametercommand, DbType.Int32); db.addinparametercommand, DbType.Int32); db.addinparametercommand, DbType.DateTime); db.addinparametercommand, DbType.Int32); db.addinparametercommand, DbType.Int32); db.addinparametercommand, DbType.Int32); foreach var outpatientregister in outpatientregisters) { db.setparametervaluecommand, "@RegisterUser", outpatientregister.registeruser); db.setparametervaluecommand, "@FKFacilityID", outpatientregister.fkfacilityid); db.setparametervaluecommand, "@FKConditionID", outpatientregister.fkconditionid); db.setparametervaluecommand, "@RegisterDate", outpatientregister.registerdate); db.setparametervaluecommand, "@M_Age_0_4", outpatientregister.m_age_0_4); db.setparametervaluecommand, "@F_Age_65", outpatientregister.f_age_65); db.executenonquerycommand); } } code snippet end Figure 6 Importing Detail: Copy ) Method The following snippet gets the data from the sourcetable Data read from MS Access file) code snippet start private IList<OutPatientRegister> GetPatientRegistersDataTable sourcetable) { LoadFacilityByName); IList<OutPatientRegister> registers = new List<OutPatientRegister>); var provider = new MappingsProviderMappingType.OPD); foreach DataRow row in sourcetable.rows) { string registeruser = row["user"].tostring).trim); int facility = int.parsehashfacilitybyname[row["facility"].tostring).trim)].tostring)); DateTime registerdate = Convert.ToDateTimerow["WeekDate"].ToString)); string gender = row["sex"].tostring).trim); string age = row["age"].tostring).trim).replace"+", "").Trim); string fieldname = gender == "Female"? "F_" : "M_") + "Age_" + age; 11
12 CreateAllConditionsForCurrentAgeGroupregisterUser, age, facility, registerdate, gender, registers); UpdateCreatedRegistersrow, registers, facility, fieldname, provider); } return registers; } code snippet end Figure 7 Importing Detail: Copy ) Method Populating the hash table with all the facility names in the facility table in the MS SQL database code snippet start public void LoadFacilityByName) { try { if hashfacilitybyname == null) { hashfacilitybyname = new Hashtable); } Database db = DatabaseFactory.CreateDatabase"DataWareHouseStore"); string sqlcommand = string.empty; DbCommand dbcommand = null; sqlcommand = "spgetfacility"; dbcommand = db.getstoredproccommandsqlcommand); using IDataReader datareader = db.executereaderdbcommand)) { while datareader.read)) { int intfacilityid = Convert.ToInt32dataReader["PKFacilityID"]); string facility = datareader["facilityname"].tostring).trim); if!hashfacilitybyname.containskeyfacility)) { hashfacilitybyname.addfacility, intfacilityid); } } } } } code snippet end Figure 8 Importing Detail: Populating a hash table 12
13 Because the table is so complex we need to come up with the way to get the name of the column from the condition name code snippet start public interface IMappingsProvider { string GetFieldCaptionstring fieldname); string[] GetAllCaptions); string[] GetAllConditionNames); } code snippet end Figure 9 Importing Detail: Mapping Provider Interface code snippet start public MappingsProviderMappingType mappingtype) { string folder = HostingEnvironment.ApplicationPhysicalPath filename = folder + mappingtype == MappingType.OPD? "OPDMappings.xml" : "MentalMappings.xml"); PopulatefieldMappings); } code snippet end Figure 10 Importing Detail: Mapping Provider Constructor This takes the MappingType and based on the type, read the file which contains the mappings defined: code snippet start <?xml version="1.0" encoding="utf-8"?> <mappings> <Column name="field2" map="cholera" /> </mappings> code snippet end Figure 11 Importing Detail: Mapping Type Configuration This is the xml file that maps the condition name to the field it maps to the source table. o name: the name of the column in the source table o map: the name of the condition This loops on all the conditions and create an OutPatientRegister object if it does not exists, then adds it to the list of OutPatientRegister code snippet start private void CreateAllConditionsForCurrentAgeGroup ) { foreach var condition in hashconditions.keys) 13
14 { int conditionid = int.parsehashconditions[condition].tostring)); string formnumber = string.format"{0}_{1}", facility, conditionid); bool exists = false; if registers.count > 0) { exists = registers.wherex => x.formnumber.equalsformnumber)).count) > 0; } if!exists) { OutPatientRegister register = new OutPatientRegister); register.registeruser = registeruser; registers.addregister); } } } code snippet end Figure 12 Importing Detail: CreateAllConditionsForCurrentAgeGroup) Method code snippet start private void UpdateCreatedRegistersDataRow currentsourcerow, IList<OutPatientRegister> registers, int facility, string fieldname, MappingsProvider provider) { string[] conditions = provider.getallconditionnames); foreach var condition in conditions) { int conditionid = int.parsehashconditions[condition.trim)].tostring)); string formnumber = string.format"{0}_{1}", facility, conditionid); int fieldvalue = Convert.ToInt32currentSourceRow[provider.GetFieldCaptioncondition)].To String)); var grouptoupdate = registers.wherex => x.formnumber.equalsformnumber)); foreach var update in grouptoupdate) { SetFieldValueupdate, fieldname, fieldvalue); } } } code snippet end Figure 13 Importing Detail: UpdateCreatedRegisters) Method 14
15 code snippet start private void SetFieldValueOutPatientRegister register, string fieldname, int value) { Type type = register.gettype); PropertyInfo propertyinfo = type.getpropertyfieldname); propertyinfo.setvalueregister, value, null); } code snippet end Figure 14 Importing Detail: SetFieldValue) Method This get all the condition names from the xml and loops through, get the current object to be updated using the constructed form number Get the field value from the source table using the mappings int fieldvalue = Convert.ToInt32currentSourceRow[provider.GetFieldCaptioncondition)].ToSring)); Use reflection to update the correct field SetFieldValue) in the OutPatientRegister object. We then get the Database using the Enteprise Library Database db = DatabaseFactory.CreateDatabase"DataWareHouseStore"); Get the stored procedure db.getstoredproccommand"spaddoutpatientregister"); Add Parameter to the stored procedure command db.addinparametercommand, "@RegisterUser", DbType.String); Set Parameter added db.setparametervaluecommand, "@RegisterUser", outpatientregister.registeruser); Execute the stored procedure db.executenonquerycommand); 15
16 4. ANNEXURES Annexure 1: District Database SQL Script [START COPY HERE] /****** Object: Table [dbo].[district] Script Date: 09/15/ :59:25 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[district] [PKDistrictID] [int] NOT NULL, [DistrictName] [varchar]255) NOT NULL, CONSTRAINT [PK_District] PRIMARY KEY CLUSTERED [PKDistrictID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[importtype] Script Date: 09/15/ :59:29 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[importtype] [PKImportTypeID] [int] NOT NULL, [Description] [varchar]255) NOT NULL, CONSTRAINT [PK_ImportType] PRIMARY KEY CLUSTERED [PKImportTypeID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[importuser] Script Date: 09/15/ :59:30 ******/ SET ANSI_PADDING ON 16
17 CREATE TABLE [dbo].[importuser] [PKImportUserID] [int] IDENTITY1,1) NOT NULL, [Username] [varchar]50) NOT NULL, [Password] [varchar]50) NOT NULL, [FirstNames] [varchar]50) NOT NULL, [Surname] [varchar]50) NOT NULL, [ ] [varchar]50) NULL, CONSTRAINT [PK_ImportUser] PRIMARY KEY NONCLUSTERED [PKImportUserID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: StoredProcedure [dbo].[spaddimportdatafiles] Script Date: 09/15/ :59:20 ******/ CREATE PROCEDURE int = int = varchar1024) = varchar255) = datetime = datetime = bit = bit = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED INSERT INTO dbo.importdatafiles FKDistrictID, FKImportTypeID, FileLocation, FileDescription, UploadDate_Intended, DateUploaded, Verified, -- IS NULL OR U.intFKStateID -- Insert statements for procedure here END /****** Object: StoredProcedure [dbo].[spsetimportedtodw] Script Date: 09/15/ :59:23 ******/ 17
18 CREATE PROCEDURE int = bit = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED UPDATE dbo.importdatafiles SET ImportedToDW IS NULL OR PKImportDataFileID END /****** Object: StoredProcedure [dbo].[spsetverified] Script Date: 09/15/ :59:23 ******/ CREATE PROCEDURE int = bit = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED UPDATE dbo.importdatafiles SET Verified IS NULL OR PKImportDataFileID END /****** Object: StoredProcedure [dbo].[spdeleterecord] Script Date: 09/15/ :59:21 ******/ CREATE PROCEDURE int = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED DELETE FROM dbo.importdatafiles WHERE 18
19 PKImportDataFileID END /****** Object: Table [dbo].[audit] Script Date: 09/15/ :59:25 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[audit] [ID] [int] IDENTITY1,1) NOT NULL, [UserId] [int] NOT NULL, [ActionPerformed] [varchar]250) NOT NULL, [DateActionPerformed] [datetime] NOT NULL, CONSTRAINT [PK_Audit] PRIMARY KEY CLUSTERED [ID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[role] Script Date: 09/15/ :59:33 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[role] [PKRoleID] [int] NOT NULL, [Description] [varchar]50) NOT NULL, [Comments] [varchar]255) NULL, CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED [PKRoleID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[right] Script Date: 09/15/ :59:32 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[right] 19
20 [PKRightID] [int] NOT NULL, [Description] [varchar]50) NOT NULL, [Comments] [varchar]255) NULL, CONSTRAINT [PK_Right] PRIMARY KEY CLUSTERED [PKRightID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[importdatafiles] Script Date: 09/15/ :59:28 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[importdatafiles] [PKImportDataFileID] [int] IDENTITY1,1) NOT NULL, [FKDistrictID] [int] NOT NULL, [FKImportTypeID] [int] NOT NULL, [FileLocation] [varchar]1024) NOT NULL, [FileDescription] [varchar]255) NOT NULL, [UploadDate_Intended] [datetime] NOT NULL, [DateUploaded] [datetime] NOT NULL CONSTRAINT [DF_ImportDataFiles_DateUploaded] DEFAULT getdate)), [Verified] [bit] NOT NULL, [ImportedToDW] [bit] NOT NULL, CONSTRAINT [PK_ImportDataFiles] PRIMARY KEY NONCLUSTERED [PKImportDataFileID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[districtimportuser] Script Date: 09/15/ :59:26 ******/ CREATE TABLE [dbo].[districtimportuser] [FKDistrictID] [int] NOT NULL, [FKImportUserID] [int] NOT NULL /****** Object: Table [dbo].[importuserrole] Script Date: 09/15/ :59:31 ******/ 20
21 CREATE TABLE [dbo].[importuserrole] [FKImportUserID] [int] NOT NULL, [FKRoleID] [int] NOT NULL /****** Object: Table [dbo].[roleright] Script Date: 09/15/ :59:33 ******/ CREATE TABLE [dbo].[roleright] [FKRoleID] [int] NOT NULL, [FKRightID] [int] NOT NULL /****** Object: StoredProcedure [dbo].[spgetuserrights] Script Date: 09/15/ :59:22 ******/ CREATE PROCEDURE int AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT DISTINCT R.PKRightID, R.Description FROM [ImportUser] IU JOIN [ImportUserRole] IUR ON IU.PKImportUserID = IUR.FKImportUserID JOIN [RoleRight] RR ON IUR.FKRoleID = RR.FKRoleID JOIN [Right] R ON R.PKRightID = RR.FKRightID WHERE IU.PKImportUserID END /****** Object: StoredProcedure [dbo].[spinsertuser] Script Date: 09/15/ :59:23 ******/ CREATE PROCEDURE varchar50) = NULL, 21
22 AS varchar100) = null out SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED int = countpkimportuserid) from importuser where username > 0) begin = 'Username exists'; end else begin INSERT INTO ImportUser int; = PKImportUserID from ImportUser where username = insert into ) end END /****** Object: StoredProcedure [dbo].[spdeleteuser] Script Date: 09/15/ :59:21 ******/ CREATE PROCEDURE int AS 22
23 BEGIN delete from ImportUserRole where FKImportUserID delete from ImportUser where PKImportUserId END /****** Object: StoredProcedure [dbo].[spgetdistrict] Script Date: 09/15/ :59:21 ******/ CREATE PROCEDURE int = varchar255) = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT PKDistrictID, DistrictName FROM [District] IS NULL OR PKDistrictID IS NULL OR DistrictName ORDER BY PKDistrictID END /****** Object: StoredProcedure [dbo].[spgetuserdistrictinfo] Script Date: 09/15/ :59:22 ******/ CREATE PROCEDURE int = varchar50) = varchar50) = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT IU.PKImportUserID, DIU.FKDistrictID, 23
24 D.DistrictName FROM [ImportUser] IU JOIN [DistrictImportUser] DIU ON DIU.FKImportUserID = IU.PKImportUserID JOIN [District] D on DIU.FKDistrictID = D.PKDistrictID IS NULL OR IU.PKImportUserID -- IS NULL OR U.intFKStateID -- Insert statements for procedure here END /****** Object: StoredProcedure [dbo].[spgetimportdatafiles] Script Date: 09/15/ :59:21 ******/ CREATE PROCEDURE int = int = int = varchar1024) = varchar255) = datetime = datetime = bit = bit = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT IDF.PKImportDataFileID, IDF.FKDistrictID, D.DistrictName, IDF.FKImportTypeID, IT.Description AS ImportTypeDescription, IDF.FileLocation, IDF.FileDescription, IDF.UploadDate_Intended, IDF.DateUploaded, IDF.Verified, IDF.ImportedToDW FROM [ImportDataFiles] IDF JOIN [District] D ON D.PKDistrictID = IDF.FKDistrictID JOIN [ImportType] IT ON IT.PKImportTypeID = IDF.FKImportTypeID IS NULL OR IDF.PKImportDataFileID IS NULL OR IDF.FKDistrictID IS NULL OR IDF.FKImportTypeID 24
25 IS NULL OR IDF.FileLocation IS NULL OR IDF.FileDescription IS NULL OR IDF.UploadDate_Intended IS NULL OR IDF.DateUploaded IS NULL OR IDF.Verified IS NULL OR IDF.ImportedToDW ORDER BY IDF.DateUploaded DESC END /****** Object: StoredProcedure [dbo].[spgetimporttype] Script Date: 09/15/ :59:22 ******/ SET ANSI_NULLS OFF SET QUOTED_IDENTIFIER OFF CREATE PROCEDURE int = varchar255) = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT PKImportTypeID, Description FROM [ImportType] IS NULL OR PKImportTypeID IS NULL OR Description END /****** Object: StoredProcedure [dbo].[spupdateresetuserpassword] Script Date: 09/15/ :59:23 ******/ CREATE PROCEDURE varchar50) AS BEGIN Update ImportUser set password where PKImportuserId END /****** Object: StoredProcedure [dbo].[spupdateuser] Script Date: 09/15/ :59:24 ******/ 25
26 CREATE PROCEDURE varchar50) = NULL AS BEGIN UPDATE ImportUser SET [FirstNames] WHERE pkimportuserid END /****** Object: StoredProcedure [dbo].[spgetuserinfo] Script Date: 09/15/ :59:22 ******/ CREATE PROCEDURE int = varchar50) = varchar50) = NULL int = NULL -- state not yet implemented AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT IU.PKImportUserID, IU.Username, IU.Password, IU.Firstnames, IU.Surname, IU. FROM [ImportUser] IU IS NULL OR IU.PKImportUserID IS NULL OR IU.Username IS NULL OR IU.Password -- IS NULL OR U.intFKStateID END 26
27 /****** Object: StoredProcedure [dbo].[spinsertaudit] Script Date: 09/15/ :59:22 ******/ CREATE PROCEDURE varchar250) AS BEGIN SET NOCOUNT ON; INSERT INTO [Audit] [UserId],[ActionPerformed], [DateActionPerformed]) VALUES getdate)) END /****** Object: ForeignKey [FK_DistrictUser_District] Script Date: 09/15/ :59:26 ******/ ALTER TABLE [dbo].[districtimportuser] WITH CHECK ADD CONSTRAINT [FK_DistrictUser_District] FOREIGN KEY[FKDistrictID]) REFERENCES [dbo].[district] [PKDistrictID]) ALTER TABLE [dbo].[districtimportuser] CHECK CONSTRAINT [FK_DistrictUser_District] /****** Object: ForeignKey [FK_DistrictUser_ImportUser] Script Date: 09/15/ :59:26 ******/ ALTER TABLE [dbo].[districtimportuser] WITH CHECK ADD CONSTRAINT [FK_DistrictUser_ImportUser] FOREIGN KEY[FKImportUserID]) REFERENCES [dbo].[importuser] [PKImportUserID]) ALTER TABLE [dbo].[districtimportuser] CHECK CONSTRAINT [FK_DistrictUser_ImportUser] /****** Object: ForeignKey [FK_ImportDataFiles_District] Script Date: 09/15/ :59:28 ******/ ALTER TABLE [dbo].[importdatafiles] WITH CHECK ADD CONSTRAINT [FK_ImportDataFiles_District] FOREIGN KEY[FKDistrictID]) REFERENCES [dbo].[district] [PKDistrictID]) ALTER TABLE [dbo].[importdatafiles] CHECK CONSTRAINT [FK_ImportDataFiles_District] /****** Object: ForeignKey [FK_ImportDataFiles_ImportType] Script Date: 09/15/ :59:28 ******/ ALTER TABLE [dbo].[importdatafiles] WITH CHECK ADD CONSTRAINT [FK_ImportDataFiles_ImportType] FOREIGN KEY[FKImportTypeID]) REFERENCES [dbo].[importtype] [PKImportTypeID]) ALTER TABLE [dbo].[importdatafiles] CHECK CONSTRAINT [FK_ImportDataFiles_ImportType] /****** Object: ForeignKey [FK_ImportUserRole_ImportUser] Script Date: 09/15/ :59:31 ******/ 27
28 ALTER TABLE [dbo].[importuserrole] WITH CHECK ADD CONSTRAINT [FK_ImportUserRole_ImportUser] FOREIGN KEY[FKImportUserID]) REFERENCES [dbo].[importuser] [PKImportUserID]) ALTER TABLE [dbo].[importuserrole] CHECK CONSTRAINT [FK_ImportUserRole_ImportUser] /****** Object: ForeignKey [FK_ImportUserRole_Role] Script Date: 09/15/ :59:31 ******/ ALTER TABLE [dbo].[importuserrole] WITH CHECK ADD CONSTRAINT [FK_ImportUserRole_Role] FOREIGN KEY[FKRoleID]) REFERENCES [dbo].[role] [PKRoleID]) ALTER TABLE [dbo].[importuserrole] CHECK CONSTRAINT [FK_ImportUserRole_Role] /****** Object: ForeignKey [FK_RoleRight_Right] Script Date: 09/15/ :59:34 ******/ ALTER TABLE [dbo].[roleright] WITH CHECK ADD CONSTRAINT [FK_RoleRight_Right] FOREIGN KEY[FKRightID]) REFERENCES [dbo].[right] [PKRightID]) ALTER TABLE [dbo].[roleright] CHECK CONSTRAINT [FK_RoleRight_Right] /****** Object: ForeignKey [FK_RoleRight_Role] Script Date: 09/15/ :59:34 ******/ ALTER TABLE [dbo].[roleright] WITH CHECK ADD CONSTRAINT [FK_RoleRight_Role] FOREIGN KEY[FKRoleID]) REFERENCES [dbo].[role] [PKRoleID]) ALTER TABLE [dbo].[roleright] CHECK CONSTRAINT [FK_RoleRight_Role] [END COPY HERE]
29 4.1.2 Annexure 2: MOHSW_Datawarehouse Database SQL Script [START COPY HERE] /****** Object: User [admin] Script Date: 09/16/ :23:14 ******/ CREATE USER [admin] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo] /****** Object: Schema [ICT\ASPNET] Script Date: 09/16/ :23:08 ******/ CREATE SCHEMA [ICT\ASPNET] AUTHORIZATION [ICT\ASPNET] /****** Object: Table [dbo].[agency] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[agency] [PKAgencyID] [int] NOT NULL, [Code] [varchar]50) NOT NULL, [Description] [varchar]255) NOT NULL, CONSTRAINT [PK_Agency] PRIMARY KEY CLUSTERED [PKAgencyID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[area] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[area] [PKAreaID] [int] NOT NULL, [Code] [varchar]50) NOT NULL, [Description] [varchar]255) NOT NULL, CONSTRAINT [PK_Area] PRIMARY KEY CLUSTERED [PKAreaID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[reporttype] Script Date: 09/16/ :23:14 ******/ 29
30 SET ANSI_PADDING ON CREATE TABLE [dbo].[reporttype] [PKReportTypeID] [int] NOT NULL, [Description] [varchar]255) NOT NULL, CONSTRAINT [PK_ReportType] PRIMARY KEY CLUSTERED [PKReportTypeID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[mentalstage] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[mentalstage] [PKStageID] [int] NOT NULL, [Description] [varchar]50) NOT NULL, CONSTRAINT [PK_MentalStage] PRIMARY KEY CLUSTERED [PKStageID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[reportname] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[reportname] [PKReportNameID] [int] NOT NULL, [Description] [varchar]255) NOT NULL, CONSTRAINT [PK_ReportName] PRIMARY KEY CLUSTERED [PKReportNameID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON 30
31 SET ANSI_PADDING OFF /****** Object: Table [dbo].[tbtreatmentoutcomecasetype] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[tbtreatmentoutcomecasetype] [PKCaseTypeID] [int] NOT NULL, [Description] [varchar]50) NOT NULL, CONSTRAINT [PK_TBTreatmentOutcomeCaseType] PRIMARY KEY CLUSTERED [PKCaseTypeID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[outpatientcondition] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[outpatientcondition] [PKConditionID] [int] IDENTITY1,1) NOT NULL, [Description] [varchar]150) NOT NULL, CONSTRAINT [PK_OutPatientCondition] PRIMARY KEY CLUSTERED [PKConditionID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: StoredProcedure [dbo].[spaddoutpatientregister] Script Date: 09/16/ :23:12 ******/ CREATE PROCEDURE int, 31
32 AS int -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; INSERT INTO [MOHSW_Datawarehouse].[dbo].[OutPatientRegister] [RegisterUser],[FKFacilityID],[FormNumber],[FKConditionID],[RegisterDate],[M_Age_0_4],[M_Age_5_9],[M_Age_10_14],[M_Age_15_19],[M_Age_20_24],[M_Age_25_29],[M_Age_30_34],[M_Age_35_39],[M_Age_40_44],[M_Age_45_49],[M_Age_50_54],[M_Age_55_59] 32
33 33,[M_Age_60_64],[M_Age_65],[F_Age_0_4],[F_Age_5_9],[F_Age_10_14],[F_Age_15_19],[F_Age_20_24],[F_Age_25_29],[F_Age_30_34],[F_Age_35_39],[F_Age_40_44],[F_Age_45_49],[F_Age_50_54],[F_Age_55_59],[F_Age_60_64],[F_Age_65]) VALUES END
34 /****** Object: StoredProcedure [dbo].[spgetmentalconditions] Script Date: 09/16/ :23:12 ******/ CREATE PROCEDURE [dbo].[spgetmentalconditions] AS BEGIN SET NOCOUNT ON; SELECT [PKConditionID],[Description] FROM [MOHSW_Datawarehouse].[dbo].[MentalCondition] END /****** Object: StoredProcedure [dbo].[spinsertmentalregister] Script Date: 09/16/ :23:12 ******/ CREATE PROCEDURE int AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; INSERT INTO [MOHSW_Datawarehouse].[dbo].[MentalRegister] [RegisterUser],[FKFacilityID],[FormNumber] 34
35 END /****** Object: Table [dbo].[mentalcondition] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[mentalcondition] [PKConditionID] [int] IDENTITY1,1) NOT NULL, 35
36 [Description] [varchar]50) NOT NULL, CONSTRAINT [PK_MentalCondition] PRIMARY KEY CLUSTERED [PKConditionID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[tbhivactivitiestbname] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[tbhivactivitiestbname] [PKTBHIVActivitiesTBNameID] [int] NOT NULL, [Description] [varchar]50) NULL, CONSTRAINT [PK_TBHIVActivitiesName] PRIMARY KEY CLUSTERED [PKTBHIVActivitiesTBNameID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[dentaldiagnosis] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[dentaldiagnosis] [PKDiagnosisID] [int] NOT NULL, [Description] [varchar]255) NULL, CONSTRAINT [PK_DentalDiagnosis] PRIMARY KEY CLUSTERED [PKDiagnosisID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[dentalprocedure] Script Date: 09/16/ :23:14 ******/ 36
37 SET ANSI_PADDING ON CREATE TABLE [dbo].[dentalprocedure] [PKProcedureID] [int] NOT NULL, [Description] [varchar]255) NULL, CONSTRAINT [PK_DentalProcedure] PRIMARY KEY CLUSTERED [PKProcedureID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[inpatientdiagnosis] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[inpatientdiagnosis] [PKDiagnosisID] [int] IDENTITY1,1) NOT NULL, [Code] [varchar]50) NULL, [Description] [varchar]255) NULL, CONSTRAINT [PK_Diagnosis] PRIMARY KEY CLUSTERED [PKDiagnosisID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: StoredProcedure [dbo].[spaddinpatientregister] Script Date: 09/16/ :23:12 ******/ CREATE PROCEDURE int = int = varchar255) = varchar50) = datetime = datetime = char1) = float = varchar50) = bit = int = NULL, 37
38 @Outcome smallint = NULL AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED INSERT INTO dbo.inpatientregister FKFacilityID, FormNumber, RegisterUser, Ward, AdmissionDate, DischargeDate, Sex,Age, AgeModulo, LSCitizen, FKdiagnosisID, Outcome @Outcome ) -- IS NULL OR U.intFKStateID -- Insert statements for procedure here END /****** Object: Table [dbo].[reporttypename] Script Date: 09/16/ :23:14 ******/ CREATE TABLE [dbo].[reporttypename] [FKReportTypeID] [int] NOT NULL, [FKReportNameID] [int] NOT NULL /****** Object: Table [dbo].[mentalregister] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[mentalregister] [PKMentalRegisterID] [int] IDENTITY1,1) NOT NULL, [RegisterUser] [varchar]255) NULL, [FKFacilityID] [int] NOT NULL, [FormNumber] [int] NOT NULL, [Date] [datetime] NULL, [FKStageID] [int] NULL, [FKConditionID] [int] NULL, [M_Age_0_9] [int] NULL, [M_Age_10_19] [int] NULL, [M_Age_20_29] [int] NULL, [M_Age_30_39] [int] NULL, [M_Age_40_49] [int] NULL, [M_Age_50_59] [int] NULL, [M_Age_60_64] [int] NULL, [M_Age_65] [int] NULL, [F_Age_0_9] [int] NULL, 38
39 [F_Age_10_19] [int] NULL, [F_Age_20_29] [int] NULL, [F_Age_30_39] [int] NULL, [F_Age_40_49] [int] NULL, [F_Age_50_59] [int] NULL, [F_Age_60_64] [int] NULL, [F_Age_65] [int] NULL, CONSTRAINT [PK_MentalRegister] PRIMARY KEY CLUSTERED [PKMentalRegisterID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[facility] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[facility] [PKFacilityID] [int] IDENTITY1,1) NOT NULL, [FKAreaID] [int] NULL, [FKAgencyID] [int] NULL, [Code] [varchar]50) NULL, [FacilityName] [varchar]255) NULL, [District] [varchar]255) NULL, CONSTRAINT [PK_Facility_1] PRIMARY KEY CLUSTERED [PKFacilityID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET ANSI_PADDING OFF /****** Object: Table [dbo].[tbtreatmentoutcome] Script Date: 09/16/ :23:14 ******/ CREATE TABLE [dbo].[tbtreatmentoutcome] [PKTreatmentOutcomeID] [int] NOT NULL, [FKFacilityID] [int] NOT NULL, [ReportDate] [datetime] NOT NULL, [FKCaseTypeID] [int] NULL, [bhivpositive] [bit] NULL, [Registered] [int] NULL, [Cured] [int] NULL, 39
40 [Completed] [int] NULL, [Died] [int] NULL, [Failed] [int] NULL, [Defaulted] [int] NULL, [Transfered] [int] NULL, [Evaluated] [int] NULL, [NotEvaluated] [int] NULL, CONSTRAINT [PK_TBTreatment] PRIMARY KEY CLUSTERED [PKTreatmentOutcomeID] ASC )WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON /****** Object: Table [dbo].[outpatientregister] Script Date: 09/16/ :23:14 ******/ SET ANSI_PADDING ON CREATE TABLE [dbo].[outpatientregister] [PKOutpatientRegsiterID] [int] IDENTITY1,1) NOT NULL, [RegisterUser] [varchar]255) NULL, [FKFacilityID] [int] NOT NULL, [FormNumber] [int] NOT NULL, [RegisterDate] [datetime] NOT NULL, [FKConditionID] [int] NULL, [M_Age_0_4] [int] NULL, [M_Age_5_9] [int] NULL, [M_Age_10_14] [int] NULL, [M_Age_15_19] [int] NULL, [M_Age_20_24] [int] NULL, [M_Age_25_29] [int] NULL, [M_Age_30_34] [int] NULL, [M_Age_35_39] [int] NULL, [M_Age_40_44] [int] NULL, [M_Age_45_49] [int] NULL, [M_Age_50_54] [int] NULL, [M_Age_55_59] [int] NULL, [M_Age_60_64] [int] NULL, [M_Age_65] [int] NULL, [F_Age_0_4] [int] NULL, [F_Age_5_9] [int] NULL, [F_Age_10_14] [int] NULL, [F_Age_15_19] [int] NULL, [F_Age_20_24] [int] NULL, [F_Age_25_29] [int] NULL, [F_Age_30_34] [int] NULL, [F_Age_35_39] [int] NULL, [F_Age_40_44] [int] NULL, [F_Age_45_49] [int] NULL, [F_Age_50_54] [int] NULL, 40
Deploying the ClientDashboard Web Site
Deploying the ClientDashboard Web Site June 2013 Contents Introduction... 2 Installing and configuring IIS... 2 Software installations... 2 Opening a firewall port... 2 Adding the SCSWebDashboard Web site...
More informationCLARITY WRITE BACK CONFIGURATION White Paper
CLARITY WRITE BACK CONFIGURATION White Paper Clarity 7 White Paper: Write-Back Configuration Version 7.0 2nd Edition Microsoft is a registered trademark. Microsoft SQL Server, Office, Excel, Word, Internet
More informationIDS Data Warehouse Project Documentation
IDS Data Warehouse Project Documentation Jim Duffy TakeNote Technologies June 2014 1 Databases IDS_DataWarehouse This database contains all of the raw data tables including lookup tables) used to store
More informationMVC CRUD. Tables: 1) Dinners (First Table)
Tables: First create one database and name it NerdDinner. Now run following code to generate tables or create by your own if you know how to create and give relationship between two tables. 1) Dinners
More informationReceiver Storefront 1.0
Receiver Storefront 1.0 2013-08-11 04:36:47 UTC 2013 Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement Contents Receiver Storefront 1.0... 4 About This Release... 5 Known
More informationReceiver Storefront 1.1
Receiver Storefront 1.1 2013-08-11 04:36:40 UTC 2013 Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement Contents Receiver Storefront 1.1... 4 About This Release... 5 Known
More informationBulkmanager User manual
Bulkmanager User manual 1 INTRODUCTION... 3 2 INSTALLATION... 4 3 USING BULK MANAGER... 5 3.1 Query data... 5 3.2 Select criteria options... 6 3.3 Overview... 6 3.4 Select additional columns... 7 3.5 Drag
More information1.2 - The Effect of Indexes on Queries and Insertions
Department of Computer Science and Engineering Data Administration in Information Systems Lab 2 In this lab class, we will approach the following topics: 1. Important Concepts 1. Clustered and Non-Clustered
More informationSQLQueryCodeSamples. Who Using What In SharePoint Application. Outcome Looking For
SQLQueryCodeSamples Who Using What In SharePoint Application Outcome Looking For See previous queries which just pick yesterday s data AND RowCreatedTime >= cast(convert(varchar(8), GETDATE()-4, 112)
More informationModule 4: Creating and Tuning Indexes
Module 4: Creating and Tuning Indexes Overview Planning Indexes Creating Indexes Optimizing Indexes 1 Lesson 1: Planning Indexes How SQL Server Accesses Data What Is a Clustered Index? What Is a Heap?
More informationHow to schedule and automate backups of SQL Server databases in SQL Server Express
How to schedule and automate backups of SQL Server databases in SQL Server Express (source: https://support.microsoft.com/en-us/help/2019698/how-to-schedule-and-automate-backups-of-sql-serverdatabases-in-sql-se)
More informationSAML v2.0 for.net Developer Guide
SAML v2.0 for.net Developer Guide Copyright ComponentSpace Pty Ltd 2004-2018. All rights reserved. www.componentspace.com Contents 1 Introduction... 1 1.1 Features... 1 1.2 Benefits... 1 1.3 Prerequisites...
More informationIn-Memory Tables and Natively Compiled T-SQL. Blazing Speed for OLTP and MOre
In-Memory Tables and Natively Compiled T-SQL Blazing Speed for OLTP and MOre Andy Novick SQL Server Consultant SQL Server MVP since 2010 Author of 2 books on SQL Server anovick@novicksoftware.com www.novicksoftware.com
More information/**Memory-Optimized Tables**/ ---- drop database InMemOLTP - if already exists Use MASTER DROP DATABASE if EXISTS InMemOLTP
/***** Technology Enhancements for SQL Server 2014/2016 Developers - Demo file By: Wylie Blanchard Note: SQL Server 2016 is required for this demo *****/ /**Memory-Optimized Tables**/ ---- drop database
More informationSql Server Syllabus. Overview
Sql Server Syllabus Overview This SQL Server training teaches developers all the Transact-SQL skills they need to create database objects like Tables, Views, Stored procedures & Functions and triggers
More informationDynamically build connection objects for Microsoft Access databases in SQL Server Integration Services SSIS
Dynamically build connection objects for Microsoft Access databases in SQL Server Integration Services SSIS Problem As a portion of our daily data upload process, we receive data in the form of Microsoft
More informationChapter 3. Introduction to relational databases and MySQL. 2010, Mike Murach & Associates, Inc. Murach's PHP and MySQL, C3
1 Chapter 3 Introduction to relational databases and MySQL Slide 2 Objectives Applied 1. Use phpmyadmin to review the data and structure of the tables in a database, to import and run SQL scripts that
More informationInformation Systems Engineering. SQL Structured Query Language DDL Data Definition (sub)language
Information Systems Engineering SQL Structured Query Language DDL Data Definition (sub)language 1 SQL Standard Language for the Definition, Querying and Manipulation of Relational Databases on DBMSs Its
More informationIndexes Best Practices (II) More T-SQL Control-Of-Flow Language
Indexes Best Practices (II) More T-SQL Control-Of-Flow Language S6 Indexes Best Practices (II) SET options Indexed Views Required value Default server value ANSI_NULLS ON ON ANSI_PADDING ON ON ANSI_WARNINGS
More informationOracle Database 10g Express
Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives
More informationThis lab will introduce you to MySQL. Begin by logging into the class web server via SSH Secure Shell Client
Lab 2.0 - MySQL CISC3140, Fall 2011 DUE: Oct. 6th (Part 1 only) Part 1 1. Getting started This lab will introduce you to MySQL. Begin by logging into the class web server via SSH Secure Shell Client host
More informationExample - deploying with migration scripts
Example - deploying with migration scripts This example shows you how to create a migration script for a database so you can deploy automatically without fear of data loss. In the example, the Magic Widget
More informationComponentSpace SAML v2.0 Developer Guide
ComponentSpace SAML v2.0 Developer Guide Copyright ComponentSpace Pty Ltd 2004-2018. All rights reserved. www.componentspace.com Contents 1 Introduction... 1 1.1 Features... 1 1.2 Benefits... 1 1.3 Prerequisites...
More informationIntroduction to relational databases and MySQL
Chapter 3 Introduction to relational databases and MySQL A products table Columns 2017, Mike Murach & Associates, Inc. C3, Slide 1 2017, Mike Murach & Associates, Inc. C3, Slide 4 Objectives Applied 1.
More informationfor imis and etouches
for imis and etouches Release Notes Version 7.1 510 Thornall Street, Suite 310 Edison, NJ 08837 Tel: 732-548-6100 www.csystemstemsglobal.com New York Toronto London Contents About Version 7.1 3 imis Version
More informationChapter 3 Introduction to relational databases and MySQL
Chapter 3 Introduction to relational databases and MySQL Murach's PHP and MySQL, C3 2014, Mike Murach & Associates, Inc. Slide 1 Objectives Applied 1. Use phpmyadmin to review the data and structure of
More informationChapter 4. Basic SQL. Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Chapter 4 Basic SQL Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4 Outline SQL Data Definition and Data Types Specifying Constraints in SQL Basic Retrieval Queries
More informationHach WIMS Direct Server-Side Interface to Custom Q12827 LIMS. Q12827 Documentation
Hach WIMS Direct Server-Side Interface to Custom Q12827 LIMS Q12827 Documentation Table of Contents 1 - Documentation : Introduction...1 1.1 Interface Introduction...1 1.2 Software Requirements...1 1.3
More informationMainly three tables namely Teacher, Student and Class for small database of a school. are used. The snapshots of all three tables are shown below.
APPENDIX 1 TABLE DETAILS Mainly three tables namely Teacher, Student and Class for small database of a school are used. The snapshots of all three tables are shown below. Details of Class table are shown
More informationSQL Data Definition Language: Create and Change the Database Ray Lockwood
Introductory SQL SQL Data Definition Language: Create and Change the Database Pg 1 SQL Data Definition Language: Create and Change the Database Ray Lockwood Points: DDL statements create and alter the
More information/* --6). Name: Christopher Singleton Date: 02/12/2017 Class: PROG 140 Project: Module 04
/* --6. Name: Christopher Singleton Date: 02/12/2017 Class: PROG 140 Project: Module 04 About this Original Script: Drops Database IF EXISTS / Creates Database / Inserts three rows into three tables with
More informationHands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 12/15/2010
Hands-On Lab Introduction to SQL Azure Lab version: 2.0.0 Last updated: 12/15/2010 Contents OVERVIEW... 3 EXERCISE 1: PREPARING YOUR SQL AZURE ACCOUNT... 5 Task 1 Retrieving your SQL Azure Server Name...
More informationData Modelling and Databases. Exercise Session 7: Integrity Constraints
Data Modelling and Databases Exercise Session 7: Integrity Constraints 1 Database Design Textual Description Complete Design ER Diagram Relational Schema Conceptual Modeling Logical Modeling Physical Modeling
More informationException/Error Handling in ASP.Net
Exception/Error Handling in ASP.Net Introduction Guys, this is not first time when something is written for exceptions and error handling in the web. There are enormous articles written earlier for this
More informationPART I SQLAlchemy Core
PART I SQLAlchemy Core Now that we can connect to databases, let s begin looking at how to use SQLAlchemy Core to provide database services to our applications. SQLAlchemy Core is a Pythonic way of representing
More informationHands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 11/16/2010
Hands-On Lab Introduction to SQL Azure Lab version: 2.0.0 Last updated: 11/16/2010 Contents OVERVIEW... 3 EXERCISE 1: PREPARING YOUR SQL AZURE ACCOUNT... 6 Task 1 Retrieving your SQL Azure Server Name...
More informationExact Numeric Data Types
SQL Server Notes for FYP SQL data type is an attribute that specifies type of data of any object. Each column, variable and expression has related data type in SQL. You would use these data types while
More informationThe Rapid Inquiry Facility (RIF)
The Rapid Inquiry Facility (RIF) Version 4.0 Data Loader user guide Authors (2017): Parkes, B. Small Area Health Statistics Unit (SAHSU) MRC-PHE Centre for Environment and Health Department of Epidemiology
More informationDepartment of Computer Science University of Cyprus. EPL342 Databases. Lab 2
Department of Computer Science University of Cyprus EPL342 Databases Lab 2 ER Modeling (Entities) in DDS Lite & Conceptual Modeling in SQL Server 2008 Panayiotis Andreou http://www.cs.ucy.ac.cy/courses/epl342
More informationUsing MySQL on the Winthrop Linux Systems
Using MySQL on the Winthrop Linux Systems by Dr. Kent Foster adapted for CSCI 297 Scripting Languages by Dr. Dannelly updated March 2017 I. Creating your MySQL password: Your mysql account username has
More informationOracle 1Z0-882 Exam. Volume: 100 Questions. Question No: 1 Consider the table structure shown by this output: Mysql> desc city:
Volume: 100 Questions Question No: 1 Consider the table structure shown by this output: Mysql> desc city: 5 rows in set (0.00 sec) You execute this statement: SELECT -,-, city. * FROM city LIMIT 1 What
More informationCOMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF HUMAN SERVICES, INSURANCE, AND AGING
COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF HUMAN SERVICES, INSURANCE, AND AGING INFORMATION TECHNOLOGY STANDARD Name Of Standard: MS SQL Server 2012 / 2014 Naming and Coding Standard Domain: Data Date
More informationMigration Playbook. Microsoft SQL Server To Amazon Aurora with PostgreSQL. 1.0 Preliminary September 2018
Microsoft SQL Server To Amazon Aurora with PostgreSQL Compatibility Migration Playbook 1.0 Preliminary September 2018 2018 Amazon Web Services, Inc. or its affiliates. All rights reserved. Notices This
More informationSQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas
SQL SQL Functionality stands for Structured Query Language sometimes pronounced sequel a very-high-level (declarative) language user specifies what is wanted, not how to find it number of standards original
More informationChapter 4. Basic SQL. SQL Data Definition and Data Types. Basic SQL. SQL language SQL. Terminology: CREATE statement
Chapter 4 Basic SQL Basic SQL SQL language Considered one of the major reasons for the commercial success of relational databases SQL Structured Query Language Statements for data definitions, queries,
More informationGet Table Schema In Sql Server 2008 To Add Column If Not Exists >>>CLICK HERE<<<
Get Table Schema In Sql Server 2008 To Add Column If Not Exists IF NOT EXISTS ( SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'(dbo). Also try catch is easily possible to use in sql serverand
More information6232B: Implementing a Microsoft SQL Server 2008 R2 Database
6232B: Implementing a Microsoft SQL Server 2008 R2 Database Course Overview This instructor-led course is intended for Microsoft SQL Server database developers who are responsible for implementing a database
More informationContents Getting Started... 3 About Scribe Online and Connectors... 3 Scribe Online Services... 3 CDK Components... 3 Audience... 4 Prerequisites...
Contents Getting Started... 3 About Scribe Online and Connectors... 3 Scribe Online Services... 3 CDK Components... 3 Audience... 4 Prerequisites... 4 Requirements... 4 CDK Workflow... 5 Scribe Online
More informationMysql Information Schema Update Time Null >>>CLICK HERE<<< doctrine:schema:update --dump-sql ALTER TABLE categorie
Mysql Information Schema Update Time Null I want to update a MySQL database schema (with MySQL code) but I am unfortunately not sure 'name' VARCHAR(64) NOT NULL 'password' VARCHAR(64) NOT NULL fieldname
More informationMCSE Data Management and Analytics. A Success Guide to Prepare- Developing Microsoft SQL Server Databases. edusum.com
70-464 MCSE Data Management and Analytics A Success Guide to Prepare- Developing Microsoft SQL Server Databases edusum.com Table of Contents Introduction to 70-464 Exam on Developing Microsoft SQL Server
More informationIncluding Dynamic Images in Your Report
Including Dynamic Images in Your Report Purpose This tutorial shows you how to include dynamic images in your report. Time to Complete Approximately 15 minutes Topics This tutorial covers the following
More informationIntro to Database Commands
Intro to Database Commands SQL (Structured Query Language) Allows you to create and delete tables Four basic commands select insert delete update You can use clauses to narrow/format your result sets or
More informationDatabases (MariaDB/MySQL) CS401, Fall 2015
Databases (MariaDB/MySQL) CS401, Fall 2015 Database Basics Relational Database Method of structuring data as tables associated to each other by shared attributes. Tables (kind of like a Java class) have
More informationColumnStore Indexes UNIQUE and NOT DULL
Agenda ColumnStore Indexes About me The Basics Key Characteristics DEMO SQL Server 2014 ColumnStore indexes DEMO Best Practices Data Types Restrictions SQL Server 2016+ ColumnStore indexes Gareth Swanepoel
More informationSimple Quesries in SQL & Table Creation and Data Manipulation
Simple Quesries in SQL & Table Creation and Data Manipulation Based on CBSE Curriculum Class -11 By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region Neha Tyagi, PGT CS II Shift Jaipur Introduction
More informationSQL Server 2014/2016 Enhancements for Developers. Wylie Blanchard Lead IT Consultant; SQL Server DBA
SQL Server 2014/2016 Enhancements for Developers Wylie Blanchard Lead IT Consultant; SQL Server DBA About Great Tech Pros Great Tech Pros was founded in 2012 Specialties include: IT Consulting Database
More informationIntroduction to Computer Science and Business
Introduction to Computer Science and Business This is the second portion of the Database Design and Programming with SQL course. In this portion, students implement their database design by creating a
More informationE-R diagrams and database schemas. Functional dependencies. Definition (tuple, attribute, value). A tuple has the form
E-R diagrams and database schemas Functional dependencies Definition (tuple, attribute, value). A tuple has the form {A 1 = v 1,..., A n = v n } where A 1,..., A n are attributes and v 1,..., v n are their
More informationOneStop Reporting 4.5 OSR Administration User Guide
OneStop Reporting 4.5 OSR Administration User Guide Doc. Version 1.2 Updated: 10-Dec-14 Copyright OneStop Reporting AS Contents Introduction... 1 Who should read this manual... 1 What s included in this
More informationADO.NET.NET Data Access and Manipulation Mechanism. Nikita Gandotra Assistant Professor, Department of Computer Science & IT
ADO.NET.NET Data Access and Manipulation Mechanism Nikita Gandotra Assistant Professor, Department of Computer Science & IT Overview What is ADO.NET? ADO VS ADO.NET ADO.NET Architecture ADO.NET Core Objects
More informationAlter Changing Default Schema Sql Server Management Studio
Alter Changing Default Schema Sql Server Management Studio Unfortunately there seems to be a problem with selecting the Schema. SQLServerException: 'CREATE/ALTER VIEW' does not allow specifying the If
More informationAIMS Embedded Systems Programming MT 2017
AIMS Embedded Systems Programming MT 2017 Object-Oriented Programming with C++ Daniel Kroening University of Oxford, Computer Science Department Version 1.0, 2014 Outline Classes and Objects Constructors
More informationRelational Data Base RDB
SQL Relational Data Base RDB IBM Edger Frank Ted Codd A Relational Model of Data for Large Shared Data Banks (1970) IBM System R SEQUEL à SQL RDB RDBMS SQL Structured Query Language 1 IBM DB/2, Oracle,
More informationOVERVIEW ENVIRONMENT PROGRAM STRUCTURE BASIC SYNTAX DATA TYPES TYPE CONVERSION
Program: C#.Net (Basic with advance) Duration: 50hrs. C#.Net OVERVIEW Strong Programming Features of C# ENVIRONMENT The.Net Framework Integrated Development Environment (IDE) for C# PROGRAM STRUCTURE Creating
More informationIBM DB2 UDB V7.1 Family Fundamentals.
IBM 000-512 DB2 UDB V7.1 Family Fundamentals http://killexams.com/exam-detail/000-512 Answer: E QUESTION: 98 Given the following: A table containing a list of all seats on an airplane. A seat consists
More informationPrivate Institute of Aga NETWORK DATABASE LECTURER NIYAZ M. SALIH
Private Institute of Aga 2018 NETWORK DATABASE LECTURER NIYAZ M. SALIH Data Definition Language (DDL): String data Types: Data Types CHAR(size) NCHAR(size) VARCHAR2(size) Description A fixed-length character
More informationCreating the Product Catalog: Part II
Creating the Product Catalog: Part II Instructor: Wei Ding The lecture notes are written based on the book Beginning ASP.NET 2.0 E-Commerce in C# 2005 From Novice to Profession by Cristian Darie and Karli
More informationLecture 5. Monday, September 15, 2014
Lecture 5 Monday, September 15, 2014 The MySQL Command So far, we ve learned some parts of the MySQL command: mysql [database] [-u username] p [-- local-infile]! Now let s go further 1 mysqldump mysqldump
More information1Z MySQL 5 Database Administrator Certified Professional Exam, Part II Exam.
Oracle 1Z0-874 MySQL 5 Database Administrator Certified Professional Exam, Part II Exam TYPE: DEMO http://www.examskey.com/1z0-874.html Examskey Oracle 1Z0-874 exam demo product is here for you to test
More information1 INTRODUCTION TO EASIK 2 TABLE OF CONTENTS
1 INTRODUCTION TO EASIK EASIK is a Java based development tool for database schemas based on EA sketches. EASIK allows graphical modeling of EA sketches and views. Sketches and their views can be converted
More informationThe DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.
Managing Data Data storage tool must provide the following features: Data definition (data structuring) Data entry (to add new data) Data editing (to change existing data) Querying (a means of extracting
More informationOverview. Implementing Stored Procedures Creating Parameterized Stored Procedures Working With Execution Plans Handling Errors
إعداد د. عبدالسالم منصور الشريف 1 Overview Implementing Stored Procedures Creating Parameterized Stored Procedures Working With Execution Plans Handling Errors 2 1 Lesson 1: Implementing Stored Procedures
More informationIndex. Accent Sensitive (AS), 20 Aggregate functions, 286 Atomicity consistency isolation durability (ACID), 265
Index A Accent Sensitive (AS), 20 Aggregate functions, 286 Atomicity consistency isolation durability (ACID), 265 B Balanced (B)-Trees clustered index, 237 non-clustered index, 239 BULK INSERT statement
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
CHAPTER 6 Basic SQL Slide 6-2 Chapter 6 Outline SQL Data Definition and Data Types Specifying Constraints in SQL Basic Retrieval Queries in SQL INSERT, DELETE, and UPDATE Statements in SQL Additional Features
More informationSoftware Development Kit. User Guide
Software Development Kit User Guide Last updated: January 19, 2017 Table of Contents SDK Overview... 1 1. What is ServicePRO SDK?... 1 2. What is possible with SDK?... 1 Pre-requisites... 2 3. Accessible
More informationIntroduction to IBM DB2
Introduction to IBM DB2 Architecture Client-server system Server: SERVEDB, servedb.ing.man 10.17.2.91 Client: IBM Data Studio: graphical DB2 Command Window: command line 2 Architecture Servers, instances,
More informationCourse Outline and Objectives: Database Programming with SQL
Introduction to Computer Science and Business Course Outline and Objectives: Database Programming with SQL This is the second portion of the Database Design and Programming with SQL course. In this portion,
More informationManual Trigger Sql Server Update Column Changed
Manual Trigger Sql Server Update Column Changed You can rename a table column in SQL Server 2016 by using SQL Server Topic Status: Some information in this topic is preview and subject to change in You
More informationSQL language. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)
SQL language Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 SQL - Structured Query Language SQL is a computer language for communicating with DBSM Nonprocedural (declarative) language What
More informationTABLE OF CONTENTS. Data binding Datagrid 10 ComboBox 10 DropdownList 10. Special functions LoadFromSql* 11 FromXml/ToXml 12
TABLE OF CONTENTS Preparation Database Design Tips 2 Installation and Setup 2 CRUD procedures 3 doodads for tables 3 doodads for views 3 Concrete classes 3 ConnectionString 4 Enhancing concrete classes
More information7. Data Privacy Option for Oracle E-Business Suite
7. Data Privacy Option for Oracle E-Business Suite This section contains information on using the Optim Data Privacy option in conjunction with the Optim Test Data Management Solution for Oracle E-Business
More informationSystem Pages (Setup Admins Only)
System Pages (Setup Admins Only) 1 Primary System Pages 2 More on Page Views & Sub Page Views 3 4 System Lookup Pages 5 6 7 Distinguishing Tables, Pages, Filtered Pages, & Page Views 8 9 Reasons to Create
More informationCreating the Product Catalog: Part II
A Database-Backed Web Site Creating the Product Catalog: Part II Instructor: Wei Ding The lecture notes are written based on the book Beginning ASP.NET 20EC 2.0 E-Commerce in C# 2005 From Novice to Profession
More informationPREPARATION. Install MyGeneration and add the doodads project to your solution
PREPARATION Database Design Tips (MS SQL Server) 1. For each table, use a single identity column as the primary key. 2. For each table, add a column named "RowVersion" with a datatype of timestamp. (doodads
More informationDeveloping Microsoft SQL Server 2012 Databases 36 Contact Hours
Developing Microsoft SQL Server 2012 Databases 36 Contact Hours Course Overview This 5-day instructor-led course introduces SQL Server 2012 and describes logical table design, indexing and query plans.
More informationHello everyone! Page 1. Your folder should look like this. To start with Run your XAMPP app and start your Apache and MySQL.
Hello everyone! Welcome to our PHP + MySQL (Easy to learn) E.T.L. free online course Hope you have installed your XAMPP? And you have created your forms inside the studio file in the htdocs folder using
More informationLecture 07. Spring 2018 Borough of Manhattan Community College
Lecture 07 Spring 2018 Borough of Manhattan Community College 1 SQL Identifiers SQL identifiers are used to identify objects in the database, such as table names, view names, and columns. The ISO standard
More informationSQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210
SQL: Concepts Todd Bacastow IST 210: Organization of Data 2/17/2004 1 Design questions How many entities are there? What are the major entities? What are the attributes of each entity? Is there a unique
More informationEGCI 321: Database Systems. Dr. Tanasanee Phienthrakul
1 EGCI 321: Database Systems Dr. Tanasanee Phienthrakul 2 Chapter 10 Data Definition Language (DDL) 3 Basic SQL SQL language Considered one of the major reasons for the commercial success of relational
More informationSQL: Data De ni on. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3
B0B36DBS, BD6B36DBS: Database Systems h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3 SQL: Data De ni on Mar n Svoboda mar n.svoboda@fel.cvut.cz 13. 3. 2018 Czech Technical University
More informationHow to use SQL to create a database
Chapter 17 How to use SQL to create a database How to create a database CREATE DATABASE my_guitar_shop2; How to create a database only if it does not exist CREATE DATABASE IF NOT EXISTS my_guitar_shop2;
More informationLab Answer Key for Module 8: Implementing Stored Procedures
Lab Answer Key for Module 8: Implementing Stored Procedures Table of Contents Lab 8: Implementing Stored Procedures 1 Exercise 1: Creating Stored Procedures 1 Exercise 2: Working with Execution Plans 6
More informationEbook : Overview of application development. All code from the application series books listed at:
Ebook : Overview of application development. All code from the application series books listed at: http://www.vkinfotek.com with permission. Publishers: VK Publishers Established: 2001 Type of books: Develop
More informationCOGS 121 HCI Programming Studio. Week 03 - Tech Lecture
COGS 121 HCI Programming Studio Week 03 - Tech Lecture Housekeeping Assignment #1 extended to Monday night 11:59pm Assignment #2 to be released on Tuesday during lecture Database Management Systems and
More informationCSC Java Programming, Fall Java Data Types and Control Constructs
CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference
More informationAdding a Client in the HERO Underwriting System
Adding a Client in the HERO Underwriting System Procedure: Below find instructions on how to enter a new Client in the HERO Underwriting System to go through Underwriting. After you add the client, you
More informationDB Creation with SQL DDL
DB Creation with SQL DDL Outline SQL Concepts Data Types Schema/Table/View Creation Transactions and Access Control Objectives of SQL Ideally, database language should allow user to: create the database
More informationC Examcollection.Premium.Exam.58q
C2090-610.Examcollection.Premium.Exam.58q Number: C2090-610 Passing Score: 800 Time Limit: 120 min File Version: 32.2 http://www.gratisexam.com/ Exam Code: C2090-610 Exam Name: DB2 10.1 Fundamentals Visualexams
More informationQ&As. Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform
70-459 Q&As Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform Pass Microsoft 70-459 Exam with 100% Guarantee Free Download Real Questions & Answers
More informationCGS 3066: Spring 2017 SQL Reference
CGS 3066: Spring 2017 SQL Reference Can also be used as a study guide. Only covers topics discussed in class. This is by no means a complete guide to SQL. Database accounts are being set up for all students
More information