Technical Manual. Lesotho Health Data Warehouse. Prepared by: Gareth Daniell. Prepared for:

Size: px
Start display at page:

Download "Technical Manual. Lesotho Health Data Warehouse. Prepared by: Gareth Daniell. Prepared for:"

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 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 information

CLARITY WRITE BACK CONFIGURATION White Paper

CLARITY 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 information

IDS Data Warehouse Project Documentation

IDS 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 information

MVC CRUD. Tables: 1) Dinners (First Table)

MVC 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 information

Receiver Storefront 1.0

Receiver 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 information

Receiver Storefront 1.1

Receiver 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 information

Bulkmanager User manual

Bulkmanager 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 information

1.2 - The Effect of Indexes on Queries and Insertions

1.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 information

SQLQueryCodeSamples. Who Using What In SharePoint Application. Outcome Looking For

SQLQueryCodeSamples. 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 information

Module 4: Creating and Tuning Indexes

Module 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 information

How 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 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 information

SAML v2.0 for.net Developer Guide

SAML 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 information

In-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 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

/**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 information

Sql Server Syllabus. Overview

Sql 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 information

Dynamically 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 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 information

Chapter 3. Introduction to relational databases and MySQL. 2010, Mike Murach & Associates, Inc. Murach's PHP and MySQL, C3

Chapter 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 information

Information Systems Engineering. SQL Structured Query Language DDL Data Definition (sub)language

Information 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 information

Indexes Best Practices (II) More T-SQL Control-Of-Flow Language

Indexes 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 information

Oracle Database 10g Express

Oracle 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 information

This lab will introduce you to MySQL. Begin by logging into the class web server via SSH Secure Shell Client

This 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 information

Example - deploying with migration scripts

Example - 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 information

ComponentSpace SAML v2.0 Developer Guide

ComponentSpace 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 information

Introduction to relational databases and MySQL

Introduction 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 information

for imis and etouches

for 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 information

Chapter 3 Introduction to relational databases and MySQL

Chapter 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 information

Chapter 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 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 information

Hach WIMS Direct Server-Side Interface to Custom Q12827 LIMS. Q12827 Documentation

Hach 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 information

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.

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. 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 information

SQL Data Definition Language: Create and Change the Database Ray Lockwood

SQL 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 /* --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 information

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 12/15/2010

Hands-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 information

Data Modelling and Databases. Exercise Session 7: Integrity Constraints

Data 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 information

Exception/Error Handling in ASP.Net

Exception/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 information

PART I SQLAlchemy Core

PART 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 information

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 11/16/2010

Hands-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 information

Exact Numeric Data Types

Exact 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 information

The Rapid Inquiry Facility (RIF)

The 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 information

Department of Computer Science University of Cyprus. EPL342 Databases. Lab 2

Department 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 information

Using MySQL on the Winthrop Linux Systems

Using 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 information

Oracle 1Z0-882 Exam. Volume: 100 Questions. Question No: 1 Consider the table structure shown by this output: Mysql> desc city:

Oracle 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 information

COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF HUMAN SERVICES, INSURANCE, AND AGING

COMMONWEALTH 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 information

Migration Playbook. Microsoft SQL Server To Amazon Aurora with PostgreSQL. 1.0 Preliminary September 2018

Migration 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 information

SQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas

SQL 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 information

Chapter 4. Basic SQL. SQL Data Definition and Data Types. Basic SQL. SQL language SQL. Terminology: CREATE statement

Chapter 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 information

Get 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 >>>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 information

6232B: Implementing a Microsoft SQL Server 2008 R2 Database

6232B: 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 information

Contents 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... 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 information

Mysql Information Schema Update Time Null >>>CLICK HERE<<< doctrine:schema:update --dump-sql ALTER TABLE categorie

Mysql 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 information

MCSE Data Management and Analytics. A Success Guide to Prepare- Developing Microsoft SQL Server Databases. edusum.com

MCSE 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 information

Including Dynamic Images in Your Report

Including 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 information

Intro to Database Commands

Intro 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 information

Databases (MariaDB/MySQL) CS401, Fall 2015

Databases (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 information

ColumnStore Indexes UNIQUE and NOT DULL

ColumnStore 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 information

Simple Quesries in SQL & Table Creation and Data Manipulation

Simple 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 information

SQL 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 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 information

Introduction to Computer Science and Business

Introduction 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 information

E-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 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 information

OneStop Reporting 4.5 OSR Administration User Guide

OneStop 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 information

ADO.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 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 information

Alter Changing Default Schema Sql Server Management Studio

Alter 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 information

AIMS Embedded Systems Programming MT 2017

AIMS 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 information

Relational Data Base RDB

Relational 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 information

OVERVIEW ENVIRONMENT PROGRAM STRUCTURE BASIC SYNTAX DATA TYPES TYPE CONVERSION

OVERVIEW 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 information

IBM DB2 UDB V7.1 Family Fundamentals.

IBM 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 information

Private Institute of Aga NETWORK DATABASE LECTURER NIYAZ M. SALIH

Private 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 information

Creating the Product Catalog: Part II

Creating 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 information

Lecture 5. Monday, September 15, 2014

Lecture 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 information

1Z MySQL 5 Database Administrator Certified Professional Exam, Part II Exam.

1Z 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 information

1 INTRODUCTION TO EASIK 2 TABLE OF CONTENTS

1 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 information

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

The 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 information

Overview. Implementing Stored Procedures Creating Parameterized Stored Procedures Working With Execution Plans Handling Errors

Overview. 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 information

Index. Accent Sensitive (AS), 20 Aggregate functions, 286 Atomicity consistency isolation durability (ACID), 265

Index. 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 information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 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 information

Software Development Kit. User Guide

Software 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 information

Introduction to IBM DB2

Introduction 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 information

Course Outline and Objectives: Database Programming with SQL

Course 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 information

Manual Trigger Sql Server Update Column Changed

Manual 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 information

SQL language. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

SQL 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 information

TABLE OF CONTENTS. Data binding Datagrid 10 ComboBox 10 DropdownList 10. Special functions LoadFromSql* 11 FromXml/ToXml 12

TABLE 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 information

7. Data Privacy Option for Oracle E-Business Suite

7. 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 information

System Pages (Setup Admins Only)

System 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 information

Creating the Product Catalog: Part II

Creating 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 information

PREPARATION. Install MyGeneration and add the doodads project to your solution

PREPARATION. 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 information

Developing Microsoft SQL Server 2012 Databases 36 Contact Hours

Developing 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 information

Hello everyone! Page 1. Your folder should look like this. To start with Run your XAMPP app and start your Apache and MySQL.

Hello 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 information

Lecture 07. Spring 2018 Borough of Manhattan Community College

Lecture 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 information

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210

SQL: 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 information

EGCI 321: Database Systems. Dr. Tanasanee Phienthrakul

EGCI 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 information

SQL: Data De ni on. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3

SQL: 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 information

How to use SQL to create a database

How 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 information

Lab Answer Key for Module 8: Implementing Stored Procedures

Lab 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 information

Ebook : 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: 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 information

COGS 121 HCI Programming Studio. Week 03 - Tech Lecture

COGS 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 information

CSC Java Programming, Fall Java Data Types and Control Constructs

CSC 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 information

Adding a Client in the HERO Underwriting System

Adding 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 information

DB Creation with SQL DDL

DB 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 information

C Examcollection.Premium.Exam.58q

C 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 information

Q&As. Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform

Q&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 information

CGS 3066: Spring 2017 SQL Reference

CGS 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