Module Title and Code: CE00318-2 Database and Web Development Systems
Intake Code: HF09B1SE
Assignment Title: Online Help Desk System
Date Assigned:
Date Due: 07 th July 2010
Database and Web development Systems TABLE OF CONTENTS TABLE OF CONTENTS ................................................................................................................. 1 PROJECT SCOPE ........................................................................................................................... 1 ASSUMPTIONS .............................................................................................................................. 3 FURTHER DEVELOPMENT ......................................................................................................... 3 ENTITY RELATIONSHIP DIAGRAM .......................................................................................... 6 BUSINESS RULES FOR THE ERD .............................................................................................. 7 DATABASE DIAGRAM ................................................................................................................. 9 NORMALIZATION ........................................................................................................................ 9 DATA DEFINITION LANGUAGE ............................................................................................... 11 FORMS .......................................................................................................................................... 28 QUERIES ....................................................................................................................................... 30 Asia Pacific Institute of Information Technology 1 Database and Web development Systems PRO3ECT SCOPE Login for helpdesk operators and specialists Add new inquiries Add new problems Search solutions for the problems using data of previous problems and standard solutions and previous problems of the same computer Choose and assign specialists to solve the problems if the help desk operator is not capable of solving Enter solution of the problem either by specialist or helpdesk operator Edit problem data Generate reports o Problems for a day o Problems to be solved for a specialist o Inquiries for a caller Asia Pacific Institute of Information Technology 2 Database and Web development Systems Asia Pacific Institute of Information Technology 3 Database and Web development Systems ASSUMPTIONS A problem type has problem areas which will be identified for a problem. If the area is unclear, general area will be selected Specialists are assigned for problem types and not for problem areas One computer has only one operating system To identify a caller or an employee, either the employee ID or a considerably accurate part of the name should be entered. If name is entered, the name should be checked whether correct due to ambiguous name existence. System's default page will be inquiry After adding a problem and need to navigate to assign specialist and search solution pages, the buttons at the bottom of the add solution page must be clicked. When a call is received, the help desk operator will have to ask for the purpose of call ( inquiry or add new problem) and navigate to the relevant page Asia Pacific Institute of Information Technology 4 Database and Web development Systems Computer ID is not unique to a caller and therefore, at the time of creating a new problem, computer data must also be provided by the caller Number of problem areas for a problem is a maximum of 3. And these areas are of the same type. There are 3 methods to give the solution for a problem o Reference to a standard solution o Reference to a previous problem solved in the same way o A new solution included by a specialist. One problem will either have a single standard solution, a single link to a previous problem or/and solution description. A new solution can only be given by a specialist.
Asia Pacific Institute of Information Technology 3 Database and Web development Systems FURTHER DEVELOPMENT Improve use of datasets reduce the amount of calls to database Reduce use of sessions Improve object oriented applications Restrict login access to different employees Provide a login to the specialists with which they can use the system to access the problems database. Improve validations Asia Pacific Institute of Information Technology 6 Database and Web development Systems ENTITY RELATIONSHIP DIAGRAM Asia Pacific Institute of Information Technology 7 Database and Web development Systems BUSINESS RULES FOR THE ERD Problem ~ Employee A problem is created by a call of an employee. The caller id is saved at the problem. Apart from that problems table has references to the specialists, solved employees IDs Problem ~ Inquiry A problem is created as a result of an inquiry therefore there is a link between the inquiry table and problem table via problem id. Also there will be inquiries that will be repeatedly received from the callers inquiring about a problem. These details will also be saved. Problem ~ Problem A problem's solution may have a relationship to a previous problem's solution. This relationship is shown here. Problem - Standard Solution A problem's solution may have a relationship to a standard solution. This relationship is shown here. Problem ~Problem Detail A problem may have many areas, therefore all these areas will be savead using problem details table Problem Area - Problem Type A problem area comes under a problem type. Therefore problem area table wil have a reference to problem type table Specialist - Specialist Details - Problem Area Asia Pacific Institute of Information Technology 8 Database and Web development Systems Specialist details will contain specialist id and the specialist's specialization area, with reference to the problem area table Standard Solution - Problem Area Standard solution will have a reference to problem area table as the solutions will be created for the problem areas. Specialist - Employee Specialist will have a reference to employee table, as specialists are already initiated from employees. The primary key in these two tables are the same Computer ~ Computer Software, Computer Hardware Computer hardware and software will store the details of the software and hardware being held by a computer. The details of the software and hardware will be saved at software and hardware tables Employee - Department Employee will have a reference to the department he is working in. Asia Pacific Institute of Information Technology 9 Database and Web development Systems DATABASE DIAGRAM NORMALIZATION Problems Un- normalized Form Problem ID Caller ID Specialist ID Software ID Hardware ID Solution 001 001 003 001 002 003 002 003 Reload from CD 1 st Normal Form Problem ID Caller ID Specialist ID Software ID Hardware ID Solution 001 001 003 001 002 Reload from CD 001 001 003 001 003 Reload from CD 001 001 003 002 002 Reload from CD 001 001 003 002 003 Reload from CD 001 001 003 003 002 Reload from CD 001 001 003 003 003 Reload from CD 2 nd Normal Form Problem ID Caller ID Specialist ID Solution 001 001 003 Reload from CD Asia Pacific Institute of Information Technology 10 Database and Web development Systems Computer ID Software ID 001 001 001 002 001 003 Computer ID Hardware ID 001 002 001 003 After the table has been defined for 2 nd normal form, it was also in 3 rd normal form All the other tables are already in 3 rd normal form Asia Pacific Institute of Information Technology 11 Database and Web development Systems DATA DEFINITION LANGUAGE Computer CREATE TABLE |dbo.|Conpute{ |ConputeTu |1ht TuENTTTY{1,1} NuT NULL, |hake |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |RAh |fJoat NULL, |Pocesso |fJoat NULL, |ueptTu |cha{1u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |hadu1sk |fJoat NULL, |uesc1pt1oh |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |up5ysten |1ht NULL, CuN5TRATNT |PKConpute PRThARY KEY CLU5TEREu { |ConputeTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY Computer Hardware CREATE TABLE |dbo.|ConputehadWae{ |ConputeTu |1ht NuT NULL, |hadWaeTu |1ht NuT NULL, CuN5TRATNT |PKConputehadWae PRThARY KEY CLU5TEREu { |ConputeTu A5C, |hadWaeTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY ALTER TABLE |dbo.|ConputehadWae WTTh ChECK Auu CuN5TRATNT |FKConputehadWaehadWae FuRETuN KEY{|ConputeTu} REFERENCE5 |dbo.|Conpute {|ConputeTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|ConputehadWae ChECK CuN5TRATNT |FKConputehadWaehadWae ALTER TABLE |dbo.|ConputehadWae WTTh ChECK Auu CuN5TRATNT |FKConputehadWaehadWae1 FuRETuN KEY{|hadWaeTu} REFERENCE5 |dbo.|hadWae {|hadWaeTu} uN uELETE CA5CAuE Asia Pacific Institute of Information Technology 12 Database and Web development Systems ALTER TABLE |dbo.|ConputehadWae ChECK CuN5TRATNT |FKConputehadWaehadWae1 Computer Software CREATE TABLE |dbo.|Conpute5oftWae{ |ConputeTu |1ht NuT NULL, |5oftWaeTu |1ht NuT NULL, |L1cehse |b1t NULL, CuN5TRATNT |PKConpute5oftWae PRThARY KEY CLU5TEREu { |ConputeTu A5C, |5oftWaeTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY ALTER TABLE |dbo.|Conpute5oftWae WTTh ChECK Auu CuN5TRATNT |FKConpute5oftWaeConpute FuRETuN KEY{|ConputeTu} REFERENCE5 |dbo.|Conpute {|ConputeTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|Conpute5oftWae ChECK CuN5TRATNT |FKConpute5oftWaeConpute ALTER TABLE |dbo.|Conpute5oftWae WTTh ChECK Auu CuN5TRATNT |FKConpute5oftWae5oftWae FuRETuN KEY{|5oftWaeTu} REFERENCE5 |dbo.|5oftWae {|5oftWaeTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|Conpute5oftWae ChECK CuN5TRATNT |FKConpute5oftWae5oftWae SET ANSI_PADDING ON CREATE TABLE |dbo.|uepatneht{ |ueptTu |1ht TuENTTTY{1,1} NuT NULL, |Nane |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |Locat1oh |vacha{1uu} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |Conputes |1ht NULL, CuN5TRATNT |PKuepatneht PRThARY KEY CLU5TEREu { Asia Pacific Institute of Information Technology 13 Database and Web development Systems |ueptTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY Employee CREATE TABLE |dbo.|EnpJoyee{ |EnpTu |1ht TuENTTTY{1,1} NuT NULL, |ueptTu |1ht NULL, |F1stNane |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |LastNane |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |JobT1tJe |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NuT NULL, |UseNane |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |PassWod |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, CuN5TRATNT |PKEnpJoyee PRThARY KEY CLU5TEREu { |EnpTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY, CuN5TRATNT |AKEnpJoyee UNTUE NuNCLU5TEREu { |UseNane A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY Asia Pacific Institute of Information Technology 14 Database and Web development Systems ALTER TABLE |dbo.|EnpJoyee WTTh ChECK Auu CuN5TRATNT |FKEnpJoyeeuepatneht FuRETuN KEY{|ueptTu} REFERENCE5 |dbo.|uepatneht {|ueptTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|EnpJoyee ChECK CuN5TRATNT |FKEnpJoyeeuepatneht ALTER TABLE |dbo.|EnpJoyee WTTh ChECK Auu CuN5TRATNT |CKEnpJoyee ChECK {{|JobT1tJe='u' uR |JobT1tJe='5P' uR |JobT1tJe='hu'}} ALTER TABLE |dbo.|EnpJoyee ChECK CuN5TRATNT |CKEnpJoyee ` Hardware 5ET AN5TNULL5 uN uu 5ET UuTEuTuENTTFTER uN uu 5ET AN5TPAuuTNu uN uu CREATE TABLE |dbo.|hadWae{ |hadWaeTu |1ht TuENTTTY{1,1} NuT NULL, |Nane |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |Type |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, Asia Pacific Institute of Information Technology 13 Database and Web development Systems |hake |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |hodeJ |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |uesc1pt1oh |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, CuN5TRATNT |PKhadWae PRThARY KEY CLU5TEREu { |hadWaeTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY Inquiry CREATE TABLE |dbo.|Thqu1y{ |Thqu1yTu |1ht TuENTTTY{1,1} NuT NULL, |CaJJeTu |1ht NuT NULL, |uateT1ne |datet1ne NULL CuN5TRATNT |uFThqu1yuateT1ne uEFAULT {getdate{}}, |Notes |vacha{35u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |PobJenTu |1ht NULL, CuN5TRATNT |PKThqu1y PRThARY KEY CLU5TEREu { |Thqu1yTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY Asia Pacific Institute of Information Technology 16 Database and Web development Systems ALTER TABLE |dbo.|Thqu1y WTTh ChECK Auu CuN5TRATNT |FKThqu1yEnpJoyee FuRETuN KEY{|CaJJeTu} REFERENCE5 |dbo.|EnpJoyee {|EnpTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|Thqu1y ChECK CuN5TRATNT |FKThqu1yEnpJoyee ALTER TABLE |dbo.|Thqu1y WTTh ChECK Auu CuN5TRATNT |FKThqu1yPobJenPobJenTu FuRETuN KEY{|PobJenTu} REFERENCE5 |dbo.|PobJen {|PobJenTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|Thqu1y ChECK CuN5TRATNT |FKThqu1yPobJenPobJenTu Login CREATE TABLE |dbo.|Log1h{ |Log1hTu |1ht TuENTTTY{1,1} NuT NULL, |EnpTu |1ht NULL, |Log1hT1ne |datet1ne NULL CuN5TRATNT |uFLog1hLog1hT1ne uEFAULT {getdate{}}, |LogoutT1ne |datet1ne NULL, CuN5TRATNT |PKLog1h PRThARY KEY CLU5TEREu { Asia Pacific Institute of Information Technology 17 Database and Web development Systems |Log1hTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY ALTER TABLE |dbo.|Log1h WTTh ChECK Auu CuN5TRATNT |FKLog1hEnpJoyee FuRETuN KEY{|EnpTu} REFERENCE5 |dbo.|EnpJoyee {|EnpTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|Log1h ChECK CuN5TRATNT |FKLog1hEnpJoyee Problem CREATE TABLE |dbo.|PobJen{ |PobJenTu |1ht TuENTTTY{1,1} NuT NULL, |CThqu1yTu |1ht NULL, |ConputeTu |1ht NULL, |uesc1pt1oh |vacha{35u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |5tatus |b1t NULL CuN5TRATNT |uFPobJen5tatus uEFAULT {{u}}, |5oJut1ohuesc1pt1oh |vacha{35u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |55oJut1ohTu |1ht NULL, |Ass1gheduateT1ne |datet1ne NULL CuN5TRATNT |uFPobJenAss1gheduateT1ne uEFAULT {getdate{}}, |5oJveduateT1ne |datet1ne NULL, Asia Pacific Institute of Information Technology 18 Database and Web development Systems |Ass1ghed5pec1aJ1stTu |1ht NULL, |5oJvedBy |1ht NULL, |P5oJut1ohTu |1ht NULL, CuN5TRATNT |PKPobJen PRThARY KEY CLU5TEREu { |PobJenTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY ALTER TABLE |dbo.|PobJen WTTh ChECK Auu CuN5TRATNT |FKPobJenConpute FuRETuN KEY{|ConputeTu} REFERENCE5 |dbo.|Conpute {|ConputeTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|PobJen ChECK CuN5TRATNT |FKPobJenConpute ALTER TABLE |dbo.|PobJen WTTh ChECK Auu CuN5TRATNT |FKPobJenPobJen FuRETuN KEY{|PobJenTu} REFERENCE5 |dbo.|PobJen {|PobJenTu} ALTER TABLE |dbo.|PobJen WTTh ChECK Auu CuN5TRATNT |FKPobJenPobJen5oJut1oh FuRETuN KEY{|P5oJut1ohTu} REFERENCE5 |dbo.|PobJen {|PobJenTu} Asia Pacific Institute of Information Technology 19 Database and Web development Systems ALTER TABLE |dbo.|PobJen ChECK CuN5TRATNT |FKPobJenPobJen5oJut1oh ALTER TABLE |dbo.|PobJen WTTh ChECK Auu CuN5TRATNT |FKPobJen5pec1aJ1st FuRETuN KEY{|Ass1ghed5pec1aJ1stTu} REFERENCE5 |dbo.|5pec1aJ1st {|5pec1aJ1stTu} ALTER TABLE |dbo.|PobJen ChECK CuN5TRATNT |FKPobJen5pec1aJ1st ALTER TABLE |dbo.|PobJen WTTh ChECK Auu CuN5TRATNT |FKPobJen5tahdad5oJut1ohs FuRETuN KEY{|55oJut1ohTu} REFERENCE5 |dbo.|5tahdad5oJut1ohs {|5oJut1ohTu} uN uELETE 5ET NULL ALTER TABLE |dbo.|PobJen ChECK CuN5TRATNT |FKPobJen5tahdad5oJut1ohs Problem Area CREATE TABLE |dbo.|PobJenAea{ |PobAeaTu |1ht TuENTTTY{1,1} NuT NULL, |PobTypeTu |1ht NuT NULL, |Aea |vacha{1uu} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |uesc1pt1oh |vacha{15u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, CuN5TRATNT |PKPobJenAea PRThARY KEY CLU5TEREu { |PobAeaTu A5C Asia Pacific Institute of Information Technology 20 Database and Web development Systems }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY ALTER TABLE |dbo.|PobJenAea WTTh ChECK Auu CuN5TRATNT |FKPobJenAeaPobJenType FuRETuN KEY{|PobTypeTu} REFERENCE5 |dbo.|PobJenType {|PobTypeTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|PobJenAea ChECK CuN5TRATNT |FKPobJenAeaPobJenType Problem details CREATE TABLE |dbo.|PobJenueta1Js{ |PobJenTu |1ht NuT NULL, |PobAeaTu |1ht NuT NULL, CuN5TRATNT |PKPobJenueta1Js PRThARY KEY CLU5TEREu { |PobJenTu A5C, |PobAeaTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY ALTER TABLE |dbo.|PobJenueta1Js WTTh ChECK Auu CuN5TRATNT |FKPobJenueta1JsPobJen FuRETuN KEY{|PobJenTu} Asia Pacific Institute of Information Technology 21 Database and Web development Systems REFERENCE5 |dbo.|PobJen {|PobJenTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|PobJenueta1Js ChECK CuN5TRATNT |FKPobJenueta1JsPobJen ALTER TABLE |dbo.|PobJenueta1Js WTTh ChECK Auu CuN5TRATNT |FKPobJenueta1JsPobJenAea FuRETuN KEY{|PobAeaTu} REFERENCE5 |dbo.|PobJenAea {|PobAeaTu} uN uELETE CA5CAuE ALTER TABLE |dbo.|PobJenueta1Js ChECK CuN5TRATNT |FKPobJenueta1JsPobJenAea Problem Type CREATE TABLE |dbo.|PobJenType{ |PobTypeTu |1ht TuENTTTY{1,1} NuT NULL, |Type |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |uesc1pt1oh |vacha{15u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, CuN5TRATNT |PKPobJenType PRThARY KEY CLU5TEREu { |PobTypeTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY Software Asia Pacific Institute of Information Technology 22 Database and Web development Systems CREATE TABLE |dbo.|5oftWae{ |5oftWaeTu |1ht TuENTTTY{1,1} NuT NULL, |Nane |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |hake |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |ves1oh |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |uesc1pt1oh |vacha{5u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |Tag |cha{1u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NuT NULL, CuN5TRATNT |PK5oftWae PRThARY KEY CLU5TEREu { |5oftWaeTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY ALTER TABLE |dbo.|5oftWae WTTh ChECK Auu CuN5TRATNT |CK5oftWae ChECK {{|Tag='u5' uR |Tag='5W'}} ALTER TABLE |dbo.|5oftWae ChECK CuN5TRATNT |CK5oftWae Specialist CREATE TABLE |dbo.|5pec1aJ1st{ |5pec1aJ1stTu |1ht NuT NULL, |CuehtPobs |1ht NULL CuN5TRATNT |uF5pec1aJ1stCuehtPobs uEFAULT {{u}}, |5oJvedPobs |1ht NULL CuN5TRATNT |uF5pec1aJ1st5oJvedPobs uEFAULT {{u}}, Asia Pacific Institute of Information Technology 23 Database and Web development Systems |Ass1ghedPobs |1ht NULL CuN5TRATNT |uF5pec1aJ1stAss1ghedPobs uEFAULT {{u}}, |TahsfeedPobs |1ht NULL CuN5TRATNT |uF5pec1aJ1stTahsfeedPobs uEFAULT {{u}}, CuN5TRATNT |PK5pec1aJ1st PRThARY KEY CLU5TEREu { |5pec1aJ1stTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY ALTER TABLE |dbo.|5pec1aJ1st WTTh ChECK Auu CuN5TRATNT |FK5pec1aJ1stEnpJoyee FuRETuN KEY{|5pec1aJ1stTu} REFERENCE5 |dbo.|EnpJoyee {|EnpTu} ALTER TABLE |dbo.|5pec1aJ1st ChECK CuN5TRATNT |FK5pec1aJ1stEnpJoyee Specialist Details CREATE TABLE |dbo.|5pec1aJ1stueta1Js{ |5pec1aJ1stTu |1ht NuT NULL, |PobTypeTu |1ht NuT NULL, CuN5TRATNT |PK5pec1aJ1st ueta1Js1 PRThARY KEY CLU5TEREu { |5pec1aJ1stTu A5C, |PobTypeTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY Asia Pacific Institute of Information Technology 24 Database and Web development Systems uu ALTER TABLE |dbo.|5pec1aJ1stueta1Js WTTh ChECK Auu CuN5TRATNT |FK5pec1aJ1st ueta1JsPobJenType FuRETuN KEY{|PobTypeTu} REFERENCE5 |dbo.|PobJenType {|PobTypeTu} uu ALTER TABLE |dbo.|5pec1aJ1stueta1Js ChECK CuN5TRATNT |FK5pec1aJ1st ueta1JsPobJenType uu ALTER TABLE |dbo.|5pec1aJ1stueta1Js WTTh ChECK Auu CuN5TRATNT |FK5pec1aJ1st ueta1Js5pec1aJ1st FuRETuN KEY{|5pec1aJ1stTu} REFERENCE5 |dbo.|5pec1aJ1st {|5pec1aJ1stTu} uN uELETE CA5CAuE uu ALTER TABLE |dbo.|5pec1aJ1stueta1Js ChECK CuN5TRATNT |FK5pec1aJ1st ueta1Js5pec1aJ1st Standard Solution CREATE TABLE |dbo.|5tahdad5oJut1ohs{ |5oJut1ohTu |1ht TuENTTTY{1,1} NuT NULL, |PobAeaTu |1ht NuT NULL, |5oJut1oh |vacha{25u} CuLLATE 5LLat1h1ueheaJCP1CTA5 NULL, |Pecedehce |1ht NULL, CuN5TRATNT |PK5tahdad5oJut1ohs PRThARY KEY CLU5TEREu { Asia Pacific Institute of Information Technology 23 Database and Web development Systems |5oJut1ohTu A5C }WTTh {PAuTNuEX = uFF, 5TATT5TTC5NuRECuhPUTE = uFF, TuNuREuUPKEY = uFF, ALLuWRuWLuCK5 = uN, ALLuWPAuELuCK5 = uN} uN |PRThARY } uN |PRThARY ALTER TABLE |dbo.|5tahdad5oJut1ohs WTTh ChECK Auu CuN5TRATNT |FK5tahdad5oJut1ohsPobJenType FuRETuN KEY{|PobAeaTu} REFERENCE5 |dbo.|PobJenAea {|PobAeaTu} uN uELETE CA5CAuE uu ALTER TABLE |dbo.|5tahdad5oJut1ohs ChECK CuN5TRATNT |FK5tahdad5oJut1ohsPobJenType Asia Pacific Institute of Information Technology 26 Database and Web development Systems FORMS Login Inquiry Add Problem Search Solution Assign Specialist Edit Problem Solve Problem Asia Pacific Institute of Information Technology 27 Database and Web development Systems Reports Asia Pacific Institute of Information Technology 28 Database and Web development Systems QUERIES Stored Procedures Add Problem CREATE PRuCEuURE AddPobJen ef 1ht, caJJe 1ht, pob vacha{35u}, con 1ht A5 BEuTN BEuTN TRAN5ACTTuN TN5ERT TNTu Thqu1y {CaJJeTu,Notes,PobJenTu} vALUE5 {caJJe, 'NeW pobJen',ef} PRTNT 5CuPETuENTTTY{} UPuATE PobJen 5ET CThqu1yTu = 5CuPETuENTTTY{}, ConputeTu = con, uesc1pt1oh = pob, 5tatus = u, Ass1gheduateT1ne = getdate{} WhERE PobJenTu = ef TF ERRuR <> u BEuTN RuLLBACK TRAN5ACTTuN RAT5ERRuR {'Cahhot Conn1t Tahsact1oh s1hgJe', u,u,u} PRTNT 'oJJed back' RETURN u ENu EL5E BEuTN CuhhTT TRAN5ACTTuN PRTNT 'conn1ted' RETURN 1 ENu ENu Authenticate ALTER PRuCEuURE |dbo.|autheht1cate uhane vacha{5u}, pWd vacha{5u}, Jog1hTu 1ht uUTPUT,hane vacha{1uu} uUTPUT A5 TF EXT5T5{5ELECT * FRuh vLog1h WhERE UseNane = uhane} Asia Pacific Institute of Information Technology 29 Database and Web development Systems BEuTN PRTNT ' AvATLABLE' uECLARE pWd2 vacha{5u} 5ELECT pWd2 = PassWod FRuh vLog1h WhERE UseNane = uhane TF {pWd = pWd2} BEuTN PRTNT ' hATCh' TN5ERT TNTu Log1h {EnpTu, Log1hT1ne} 5ELECT vLog1h.EnpTu, uETuATE{} FRuh vLog1h WhERE UseNane = uhane 5ELECT Jog1hTu = TuENTTTY 5ELECT hane = F1stNane + ' ' + LastNane FRuh vLog1h WhERE UseNane = uhane RETURN 1 ENu ENu EL5E BEuTN PRTNT ' NuT AvATLABLE' RETURN u ENu Create Problem ALTER PRuCEuURE CeatePobJen ef 1ht output A5 BEuTN TRAN5ACTTuN TN5ERT TNTu PobJen uEFAULT vALUE5 TF ERRuR <> u BEuTN RuLLBACK TRAN5ACTTuN RAT5ERRuR {'Cahhot Conn1t Tahsact1oh', u,u,u} RETURN u ENu EL5E BEuTN CuhhTT TRAN5ACTTuN 5ET ef = 5CuPETuENTTTY{} RETURN 1 ENu Asia Pacific Institute of Information Technology 30 Database and Web development Systems Get Problem Details ALTER PRuCEuURE |dbo.|getPobJenueta1Js ef 1ht, 1h1t1aJ vacha{11u} output, date datet1ne output, pob vacha{35u} output, soJ vacha{35u} output, status b1t output, soJved datet1ne output, spec vacha{11u} output, con 1ht output, aeas vacha{5uu} output, type vacha{5u} output A5 TF EXT5T5 {5ELECT * FRuh PobJen WhERE PobJenTu = ef} BEuTN BEuTN TRAN5ACTTuN 5ELECT 1h1t1aJ = {5ELECT F1stNane + ' ' + LastNane + '-' + CA5T{CaJJeTu A5 vacha{4}} FRuh Thqu1y,PobJen,EnpJoyee WhERE PobJen.CThqu1yTu = Thqu1y.Thqu1yTu ANu PobJen.PobJenTu = ef ANu EnpTu = CaJJeTu}, date = {5ELECT uateT1ne FRuh Thqu1y,PobJen WhERE PobJen.CThqu1yTu = Thqu1y.Thqu1yTu ANu PobJen.PobJenTu = ef}, pob = uesc1pt1oh, status = 5tatus, soJved = 5oJveduateT1ne, con = ConputeTu FRuh PobJen WhERE PobJenTu = ef ------------------ 5ET soJ = '' uECLARE 5epaato vARChAR{5} 5ET 5epaato ='' TF {{5ELECT 5oJut1ohuesc1pt1oh FRuh PobJen WhERE PobJenTu = ef} T5 NuT NULL} BEuTN 5ELECT soJ = 5oJut1ohuesc1pt1oh FRuh PobJen WhERE PobJenTu = ef 5ET 5epaato = ' 7 ' ENu TF {{5ELECT 55oJut1ohTu FRuh PobJen WhERE PobJenTu = ef} T5 NuT NULL} BEuTN 5ELECT soJ = soJ + 5epaato + 5oJut1oh FRuh 5tahdad5oJut1ohs WhERE 5oJut1ohTu = {5ELECT PobJen.55oJut1ohTu FRuh PobJen WhERE PobJenTu = ef} 5ET 5epaato = ' 7 ' ENu Asia Pacific Institute of Information Technology 31 Database and Web development Systems TF{{5ELECT P5oJut1ohTu FRuh pobJen WhERE PobJenTu = ef} T5 NuT NULL} BEuTN uECLARE p 1ht 5ELECT p = P5oJut1ohTu FRuh PobJen WhERE PobJenTd = ef 5ELECT p 5ELECT soJ = soJ + 5epaato + 5oJut1ohuesc1pt1oh FRuh PobJen WhERE PobJenTu = p --5ET 5epaato = ' 7 ' ENu -------------- 5ET spec = '' TF{{5ELECT Ass1ghed5pec1aJ1stTu FRuh PobJen WhERE PobJenTu = ef} T5 NuT NULL} BEuTN uECLARE s 1ht 5ELECT s = Ass1ghed5pec1aJ1stTu FRuh PobJen WhERE PobJenTd = ef 5ELECT s 5ELECT spec = F1stNane + ' ' + LastNane FRuh EnpJoyee WhERE EnpTu = s ENu 5ET aeas = '' 5ELECT aeas = CuALE5CE{aeas + ' 7 ', ''} + Aea FRuh PobJenAea JuTN PobJenueta1Js uN PobJenAea.PobAeaTu = PobJenueta1Js.PobAeaTu Whee PobJenTu = ef 5ELECT aeas uECLARE 1d 1ht 5ELECT 1d = hAX{pobaea1d} FRuh pobJendeta1Js Whee pobJen1d = ef 5ELECT 1d = pobtype1d FRuh pobJenaea WhERE pobaea1d = 1d 5ELECT type = Type FRuh pobJentype WhERE pobtype1d = 1d ----------------- TF ERRuR <> u BEuTN RuLLBACK TRAN5ACTTuN RAT5ERRuR {'Cahhot Conn1t Tahsact1oh s1hgJe', u,u,u} --5ET hane = 'ERRuR!' PRTNT 'oJJed back' RETURN u Asia Pacific Institute of Information Technology 32 Database and Web development Systems ENu EL5E BEuTN CuhhTT TRAN5ACTTuN PRTNT 'conn1ted' RETURN 1 ENu ENu EL5E PRTNT'ERRuR', RETURN u Identify Caller ALTER PRuCEuURE |dbo.|Tdeht1fyCaJJe 1d vacha{5u},hane vacha{1uu} output,enp 1ht output--,1hq 1ht output --, t1tJe vacha{5u} output A5 ---------------------------------------------------------------------- TF T5NUhERTC{1d}=1 BEuTN ------------------------------------------------------ TF EXT5T5{5ELECT * FRuh EnpJoyee WhERE EnpTu = CA5T{1d A5 1ht}} BEuTN 5ELECT hane = F1stNane + ' ' + LastNane ,enp = CA5T{EnpTu as 1ht}--, t1tJe = JobT1tJe FRuh EnpJoyee WhERE EnpTu = CA5T{1d A5 1ht} RETURN 1 ENu ----------------------------------------------------------------- EL5E BEuTN PRTNT ' TNvALTu!!!' RETURN u ENu -------------------------------------------------------------- ENu --------------------------------------------------------------------- EL5E BEuTN uECLARE 1d1 vacha{5u} uECLARE 1d2 vacha{5u} 5ELECT 1d1 = 5UB5TRTNu{1d, 1, NULLTF{ChARTNuEX{' ', 1d} - 1, -1}}, 1d2 = 5UB5TRTNu{1d, ChARTNuEX{' ', 1d} + 1, LEN{1d}} p1ht '1' + 1d1 p1ht '2' + 1d2 ----------------------------------------------------------------- TF 1d1 T5 NULL BEuTN Asia Pacific Institute of Information Technology 33 Database and Web development Systems 5ELECT hane = F1stNane + ' ' + LastNane,enp = CA5T{EnpTu as 1ht} FRuh EnpJoyee WhERE F1stNane LTKE 'Z'+1d2+'Z' uR LastNane LTKE 'Z'+1d2+'Z' RETURN 1 ------------------------------------------------------ -- TF hane T5 NULL BEuTN 5ET hane = 'TNvALTu!!!' RETURN u ENu ENu ---------------------------------------------------------------- EL5E BEuTN 5ELECT hane = F1stNane + ' ' + LastNane,enp = CA5T{EnpTu as 1ht} FRuh EnpJoyee WhERE F1stNane LTKE 'Z'+1d1+'Z' ANu LastNane LTKE 'Z'+1d2+'Z' RETURN 1 ------------------------------------------------------ - TF hane T5 NULL BEuTN 5ET hane = 'TNvALTu!!!' RETURN u ENu ENu -------------------------------------------------------- ENu Identify Computer ALTER PRuCEuURE |dbo.|Tdeht1fyConpute 1d 1ht A5 BEuTN TF EXT5T5{5ELECT * FRuh Conpute WhERE ConputeTu = 1d} BEuTN p1ht 'hAvE' RETURN 1 ENu EL5E BEuTN PRTNT ' TNvALTu!!!' RETURN u Asia Pacific Institute of Information Technology 34 Database and Web development Systems ENu ENu Insert Inquiry ALTER PRuCEuURE ThsetThqu1y caJJe 1ht, hotes vacha{35u}, ef 1ht A5 BEuTN TRAN5ACTTuN TN5ERT TNTu Thqu1y {CaJJeTu,Notes,PobJenTu} vALUE5 {caJJe,hotes,ef} TF ERRuR <> u BEuTN RuLLBACK TRAN5ACTTuN RAT5ERRuR {'Cahhot Conn1t Tahsact1oh', u,u,u} --PRTNT 'oJJed back' RETURN u ENu EL5E BEuTN CuhhTT TRAN5ACTTuN 5ET ef = 5CuPETuENTTTY{} --PRTNT 'conn1ted' RETURN 1 ENu Insert to Login ALTER PRuCEuURE |dbo.|1hsettoJog1h uhane vacha{5u},Jog1h vacha{5u} output A5 TN5ERT TNTu Log1h {EnpTu, Log1hT1ne} 5ELECT EnpJoyee.EnpTu, uETuATE{} FRuh EnpJoyee WhERE UseNane = uhane 5ELECT Jog1h = 5CuPETuENTTTY{} Logout ALTER PRuCEuURE Jogout Jog1hTu 1ht A5 UPuATE Log1h 5ET LogoutT1ne = uETuATE{} WhERE Log1hTu = Jog1hTu Asia Pacific Institute of Information Technology 33 Database and Web development Systems Triggers Add Computer ALTER TRTuuER AddConputes uN Conpute AFTER TN5ERT A5 BEuTN UPuATE uepatneht 5ET Conputes = Conputes + 1 WhERE ueptTu = {5ELECT ueptTu fon Conpute WhERE ConputeTu = TuENTTTY} ENu Add Specialist ALTER TRTuuER Add5pec1aJ1st uN EnpJoyee FuR TN5ERT,UPuATE A5 BEuTN TF {{5ELECT JobT1tJe FRuh EnpJoyee WhERE EnpTu = TuENTTTY} = '5P'} TN5ERT TNTu 5pec1aJ1st {5pec1aJ1stTu} vALUE5 {TuENTTTY} TF UPuATE{JuBTTTLE} BEuTN uECLARE Tu TNT 5ELECT Tu ={5ELECT EhPTu FRuh uELETEu} TF {{5ELECT JobT1tJe FRuh EnpJoyee WhERE EnpTu = Tu} = '5P'} BEuTN TN5ERT TNTu 5pec1aJ1st {5pec1aJ1stTu} vALUE5 {Tu} --PRTNT Tu --PRTNT'YE5 YE5' ENu ENu ENu Asia Pacific Institute of Information Technology 36