MIS Architectural Design

Embed Size (px)

Citation preview

  • 8/2/2019 MIS Architectural Design

    1/25

    Museum Information System

    Page 1

    Museum Information System

    Architectural Design

    Presented to:

    Dr. Shahriar Ameri

    Prepared by Team1:

    Claudia ARDELEANU [email protected] FARES [email protected]

    Liviu ISTRATE [email protected] Oxana KHODAKOVSCAYA [email protected]

    Pedro Maroun EID [email protected] Brandon NGUYEN [email protected]

  • 8/2/2019 MIS Architectural Design

    2/25

    Museum Information System

    Page 2

    Table of Contents

    1. Introduction ........................................................................................ 32. System Design ................................................................................... 4

    2.1 System Architecture ........................................................................ 4

    3. User Interface Layer........................................................................... 63.1 Prototype ......................................................................................... 7

    4. Business Layer................................................................................... 84.1 Class Diagram................................................................................. 84.2 Sequence Diagrams..................................................................... 94.3 State Diagrams .......................................................................... 18

    5. Persistence Layer ............................................................................ 195.1 Database Assumption ................................................................... 195.2 Class Diagram for the persistence layer ....................................... 19

    5.3 Data Model Diagram ..................................................................... 195.3 Database Schema......................................................................... 22

  • 8/2/2019 MIS Architectural Design

    3/25

    Museum Information System

    Page 3

    1. Introduction

    The Architectural Design document provides a high-level overview of the structural and

    architecture of the entire system. Also the Architectural Design document provides amore detailed description of the components of the system. Information is provided oninteractions and relationships among various sub-components of the system as well asa detailed description of the pages corresponding to each function and each module.The databases design is a list of everything a designer, programmer, or tester needs toknow to set up the database and to provide the connection between each function andthe database tables.

  • 8/2/2019 MIS Architectural Design

    4/25

    Museum Information System

    Page 4

    2. System Design

    The system includes the following subsystems:

    Client: The client interacts with the system through a classic Windows interface. Theusers will access the system in different ways depending on their privileges.

    Server: The server is represented by the database server that stores the entireinformation of the Museum system.

    2.1System Architecture

    The system is design as an N-tier application that is divided into discrete logical parts:user interface, business logic and data. In this model, processing is distributed betweenthe client and the server, and business logic is captured in a middle tier.

    Tier (layer) Descript ion

    User interfaceand navigation-View

    This layer comprises the entire user experience.

    Not only does this layer provide a graphical interface so thatusers can interact with the application, input data, and viewthe results of requests, it also manages the manipulation andformatting of data once the client receives it.

    The GUI will be a classic Windows interface implemented inVC.

    Business logic-Model

    -Controller

    Between the interface and data services layers, this layer isthe domain of the application developer. Business logic,which captures the rules that govern application processing,

    connects the user at one end with the data at the other.The business rules mimic everyday business tasks, and canbe a single task or a series of tasks.

    The business tier allows components to be written once andreused multiple times to serve multiple clients and purposes.

    he business tier is implemented by VC classes.

    Data services-Persistencelayer

    Data services are provided by a structured data store, whichmanages and provides access to the application data.

    Data services are provided by MS Access database

  • 8/2/2019 MIS Architectural Design

    5/25

    Museum Information System

    Page 5

    GUI Controller Main

    Engine

    DB

    Helper

    DB_Museum

    Figure. System component diagram for the Museum Information System

  • 8/2/2019 MIS Architectural Design

    6/25

    Museum Information System

    Page 6

    3. User Interface Layer

    The user interface class contains the code for the user interface part of an applicationand is design as a Windows based application.

    FigureUI flow diagram

    Main Page

    Administrator User

    Login

    Museums Map

    Museums

    ItemsCollection

    *book*simulation

    *audio*computer

    Select an option

    Search Page

    Update Page

    Result on Page

    Museums Map

    Museums

    ItemsCollection

    *book*simulation

    *audio*computer

    Select an option

    Search Page

    Result on Page

  • 8/2/2019 MIS Architectural Design

    7/25

    Museum Information System

    Page 7

    3.1 Prototype

    To design a good interface we decided to create a first prototype that implements themain functions of the system. The prototype will help us to receive feedback from thecustomers and change in right of first stages of designing the GUI classes.

  • 8/2/2019 MIS Architectural Design

    8/25

    Museum Information System

    Page 8

    4. Business Layer

    4.1 Class Diagram

  • 8/2/2019 MIS Architectural Design

    9/25

    Museum Information System

    Page 9

    4.2 Sequence Diagrams

    4.2.1 Item

    Create an i tem

    - The administrator logs into the system- The GUI creates an administrator controller- The admin controller creates a session- The session creates an item object based on the information provided by the

    administrator.- This item is manipulated in this session- At the end, the changes are committed to the DB by the session- The item object is destroyed

    Controller

    Session : Session

    DBHelper :

    DBHelper

    CreateItem(ID, ...)Exists(Integer)

    CheckConsistency(LocationID, Type)

    RecordRequest(Type, ID, .. .)

    Create Item which the

    Administrator accesses

    through all the layers after

    loging in. It enables him to

    create a new item.

    Edit an Item

    - Same operations as Creating an item- The created session gets the data from DB for the corresponding item- The session creates an item object based on that data- This item is manipulated in this session- At the end, the changes are committed to the DB by the commit command

  • 8/2/2019 MIS Architectural Design

    10/25

    Museum Information System

    Page 10

    Controller

    Session : Session

    DBHelper :

    DBHelper

    User Interface

    EditItem(const ID, ...)

    Exists(ID)

    CheckConsistency(LocationID, Type)

    RecordRequest(Type, ID, ...)Record()

    Edit()

    Edit Item which only the

    Administrator can access

    through all the layers after

    loging in. It enables him to

    edit an item.

    Delete an i tem

    - Same operations as Editing an item- The created session gets the data from DB for the corresponding item

    - The session creates an item object based on that data- This item is marked as deleted in this session- At the end, the deletion is committed to the DB by the commit command to the

    corresponding item.

    Controller

    Session : Session

    DBHelper :

    DBHelper

    DeleteItem(Const ID, Cause)Exists(Integer)

    RecordRequest(Type, ID, ...)

    Delete Item which the

    Administrator accesses

    through all the layers after

    loging in. It enables him to

    delete an existing item.

  • 8/2/2019 MIS Architectural Design

    11/25

    Museum Information System

    Page 11

    Committing to DB

    - This command is used whenever the administrator or the system sees a need toapply the changes made to the DB.

    - The command comes from the controller through the session and to the DB

    interface. Then, the interface is responsible to commit those changes physically.

    Controller

    MO_CItem : Sess ion

    DBHelper :

    DBHelper

    Commit( )

    The Confirmation Command to

    apply all performed changes to

    the DataBase. Used byAministrator.

    Searching DB

    - It is used by all users to check or fetch items or any objects existing in the DB.- The user asks for a search on a given string; this string could be an id, a type, a

    date, a part of the description, etc...- All possibly needed search functions will be provided.- After this command goes to the session, the session gets the information from

    the DB interface and returns a response or search results to the user through thecontroller and to his GUI.

    User : General User Sess ion : Session

    Search()

    Response()

    The Search option which the

    General User/Visitor canaccess to retreive items.

  • 8/2/2019 MIS Architectural Design

    12/25

    Museum Information System

    Page 12

    4.2.2 Collection

    Create a collection

    - The administrator login into the system- The GUI creates an administrator controller- The admin controller creates a session- The session creates a collection object based on the name provided by the

    admin- This collection is manipulated in this session- At the end, the changes are committed to the DB by the session- The collection object is destroyed

    AdministratorU I Adm in :

    CO_CAdministrator

    The Collection :

    MO_CCollection

    : DBAccess

    : Session

    Login()

    createAdminC ntl(passw ord)

    createCollection(Name)

    createSession()

    return(The Collection)

    comm it('create', The collection)

    des troy(The C ollection)

    Figure 1. Create Collection

  • 8/2/2019 MIS Architectural Design

    13/25

    Museum Information System

    Page 13

    Update a collection

    - The administrator login into the system- The GUI creates an administrator controller- The admin controller creates a session

    - The session gets the data from DB for the collection to be updated- The session creates a collection object based on the information got from the DB- This collection is manipulated in this session- At the end, the changes are committed to the DB by the session- The collection object is destroyed

    Admin :

    CO_CAdministrator

    AdministratorUI

    : Session

    : DBAccess

    The Collection :

    CO_CCollection

    Login()

    createAdminCntl(password)createSession()

    getCollection(Name)

    return(The Collection)

    commit('update', The Collection)

    return(The Collection)

    destroy(The Collection)

    createCollection('update',Name)

    Figure 2. Update Collection

  • 8/2/2019 MIS Architectural Design

    14/25

    Museum Information System

    Page 14

    Delete a collection

    - The administrator login into the system- The GUI creates an administrator controller- The admin controller creates a session

    - The session gets the data from DB for the collection to be deleted- The session creates a collection object based on the information got from the DB- This collection is manipulated in this session- At the end, the changes are committed to the DB by the session- The collection object is destroyed

    AdministratorUI Admin :

    CO_CAdministrator

    : Session

    : DBAccess

    The Collection :

    CO_CCollection

    Login()createAdminCntl(password)

    createSession()

    getCollection(Name)

    return(The Collection)

    createCollection('delete', Name)

    commit('delete', The Collection)

    return(The Collection)

    destroy(The Collection)

    Figure 3. Delete Collect ion

  • 8/2/2019 MIS Architectural Design

    15/25

    Museum Information System

    Page 15

    4.2.3 Exhibition

    Create an exhibition

    - The administrator login into the system

    - The GUI creates an administrator controller- The admin controller creates a session- The session creates an exhibition object based on the name provided by the

    admin- This exhibition is manipulated in this session- At the end, the changes are committed to the DB by the session- The exhibition object is destroyed

    AdministratorUI Adm in :

    CO_CAdministrator

    The Exhibition :

    MO_CExhibition

    : DBAccess

    : Sess ion

    Login()createAdminCntl(password)

    comm it('create', The Exhibition)

    destroy(The Exhibition)

    createExhibition(Name)

    createSession()

    return(The Exhibition)

    Figure 4. Create Exhibition

  • 8/2/2019 MIS Architectural Design

    16/25

    Museum Information System

    Page 16

    Update an exhibition

    - The administrator login into the system- The GUI creates an administrator controller- The admin controller creates a session

    - The session gets the data from DB for the exhibition to be updated- The session creates a collection object based on the information got from the DB- This exhibition is manipulated in this session- At the end, the changes are committed to the DB by the session- The exhibition object is destroyed

    AdministratorUI Admin :

    CO_CAdministrator

    : Session

    : DBAccess

    The Exhibition :

    MO_CExhibition

    Login()

    createAdminCntl(password)

    commit('update', The Exhibition)

    getExhibition(Name)

    return(The Exhibition)

    return(The Exhibition)

    destroy(The Exhibition)

    createSession()

    createExhibition('update', Name)

    Figure 5. Update Exhibit ion

  • 8/2/2019 MIS Architectural Design

    17/25

    Museum Information System

    Page 17

    Delete an exhibition

    - The administrator login into the system- The GUI creates an administrator controller- The admin controller creates a session- The session gets the data from DB for the exhibition to be deleted

    - The session creates an exhibition object based on the information got from theDB

    - This collection is manipulated in this session- At the end, the changes are committed to the DB by the session- The exhibition object is destroyed

    AdministratorUI Admin :

    CO_CAdministrator

    : Session

    : DBAccess

    The Exhibition :

    MO_CExhibition

    Login()createAdminCntl(password)

    comm it('delete', The Exhibition )

    createSession()

    getExhibition(Name)

    return(The Exhibition)

    createExhibition('delete', Name)

    return(The Exhibition)

    destroy(The Exhibition)

    Figure 6. Delete Exbition

  • 8/2/2019 MIS Architectural Design

    18/25

    Museum Information System

    Page 18

    4.3 State Diagrams

    4.3.1 Collection state

    Start

    End

    Stored

    On D isplay

    create()makeOnDisplay()

    destroy()

    Figure. Collection

    4.3.2 I tem state

    Start

    End

    Normal Edited

    Committed

    commit()

    Deleted

    delete()

    destroy()

    commit()

    ed it()

    delete()

    commit()

    create()

    Figure. Item

  • 8/2/2019 MIS Architectural Design

    19/25

    Museum Information System

    Page 19

    5. Persistence Layer

    5.1 Database Assumption

    Based on the previous requirement analysis and characteristics of the MuseumInformation System, we established some assumptions and constraints in order todevelop an abstract description of the data to be stored in the database. Theseassumption and constraints are listed as follows:

    A collection is a set of zero or many item. Items can be added to a collectionindividually or following a rule.An item can be part of zero or many collectionsA collection can have zero or many itemsAn exhibition is a set of collections that are on display. An exhibition can becomposed by zero or many collections.A collection can be displayed in zero or many exhibition.

    An item which is on displayed has assigned only one room.A book can have one or many authors.

    5.2 Class Diagram for the persistence layer

    In the persistence layer it will be only one class: DBHelper. The object of this class willmanage the connections for a user, and it will do all the operations on the database:retrieve, insert, delete, and update. The objects of type DBHelper will only receivemessages from the class MO_CSession, which is on the MainEngine layer.

    DBHelper

    m_strConnection

    m_vCollectionList

    m_vItemList

    m_vExhibitionList

    OpenConnection() : String

    CloseConnection() : String

    FindItem()

    FindCollection()

    FindRoom()

    Commit() : String

    CheckConsistency() : String

    The DB_Helper objects

    manage the operations on

    the database.

    Figure. Class Diagram for the persistence layer

    5.3 Data Model Diagram

    The database design is described bellow in the data model diagram in two versions.The first diagram gives only the table name and the relations between them, while thesecond diagram fully lists all the field names.

  • 8/2/2019 MIS Architectural Design

    20/25

    Museum Information System

    Page 20

    Figure. Data Model Diagram tables and relations

    T_UserAccount

    T_Exhibition

    PK_T_ExhibitionCode()

    T_Person

    PK_T_PersonID()T_ExhibitionCollection

    FK_T_CollectionID()

    FK_T_ExhibitionID() TC_T_ExhibitionIDCollectionID()

    0..*

    1

    0..*

    1

    T_BookAuthor

    FK_T_ItemCode()

    FK_T_PersonID()

    TC_T_PersonIDItemCode()

    0..*

    1

    0..*

    1

    T_Collection

    PK_T_CollectionID()

    0..*

    1

    0..*

    1

    T_Computer

    PK_T_ItemCode()

    FK_T_ItemCode()

    T_AudioVideo

    PK_T_ItemCode() FK_T_ItemCode()

    T_Simulation

    PK_T_ItemCode() FK_T_ItemCode()

    T_Book

    PK_T_ItemCode()

    FK_T_ItemCode()

    0..*

    1

    0..*

    1

    T_Room

    PK_T_RoomID()

    T_ItemCollection

    FK_T_CollectionID()

    FK_T_ItemCollection25()

    TC_T_ItemCodeCollectionID()

    0..*

    1

    0..*

    1

    T_Item

    PK_T_ItemCode()

    FK_T_RoomCode()

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    0..*

    1

    0..*

    1

    0..*

    1

    0..*

    1

  • 8/2/2019 MIS Architectural Design

    21/25

    Museum Information System

    Page 21

    T_UserAccount

    T_Exhibition

    COL_ExhibitionID : SMALLINT

    COL_ExhibitionStartDate : DATETIME

    COL_ExhibitionEndDate : DATETIME

    COL_ExhibitionDescription : VARCHAR(2000)

    COL_ExhibitionName : VARCHAR(100)

    PK_T_ExhibitionCode()

    T_Person

    COL_PersonID : VARCHAR(20)

    COL_PersonLastName : VARCHAR(50)

    COL_PersonBirthDate : DATETIME

    COL_PersonFirstName : VARCHAR(50)

    COL_PersonCurriculum : VARCHAR(2000)

    PK_T_PersonID()

    T_ExhibitionCollection

    COL_CollectionID : SMALLINT

    COL_ExhibitionID : SMALLINT

    FK_T_CollectionID()

    FK_T_ExhibitionID()

    TC_T_ExhibitionIDCollectionID()

    0..*

    1

    0..*

    1

    T_BookAuthor

    COL_ItemCode : VARCHAR(20)

    COL_PersonID : VARCHAR(20)

    FK_T_ItemCode()

    FK_T_PersonID()

    TC_T_PersonIDItemCode()

    0..*

    1

    0..*

    1

    T_Collection

    COL_CollectionID : SMALLINTCOL_CollectionDescription : VARCHAR(2000)

    COL_CollectionName : VARCHAR(100)

    PK_T_CollectionID()

    0..*

    1

    0..*

    1

    T_Computer

    COL_ItemCode : VARCHAR(20)

    COL_ComputerModel : VARCHAR(20)

    COL_ComputerCompanyName : VARCHAR(50)

    COL_ComputerHertz : SMALLINT

    COL_ComputerRAM : SMALLINT

    COL_ComputerMIPS : SMALLINT

    COL_ComputerDescription : VARCHAR(2000)

    PK_T_ItemCode()

    FK_T_ItemCode()

    T_AudioVideoCOL_AudioVideoLength : SMALLINT

    COL_AudioVideoFormat : VARCHAR(50)

    COL_ItemCode : VARCHAR(20)

    COL_AudioVideoDescription : VARCHAR(2000)

    PK_T_ItemCode()

    FK_T_ItemCode()

    T_Simulation

    COL_SimultationOS : VARCHAR(50)

    COL_ItemCode : VARCHAR(20)

    COL_SimultationGoalDescription : VARCHAR(2000)

    PK_T_ItemCode()

    FK_T_ItemCode()

    T_Book

    COL_ItemCode : VARCHAR(20)

    COL_BookDescription : VARCHAR(2000)COL_BookPublisher : VARCHAR(50)

    PK_T_ItemCode()

    FK_T_ItemCode()

    0..*

    1

    0..*

    1

    T_Room

    COL_RoomCode : VARCHAR(10)

    COL_RoomName : VARCHAR(50)COL_RoomFloor : VARCHAR(10)

    COL_RoomDescription : VARCHAR(2000)

    COL_RoomSize : SMALLINT

    PK_T_RoomID()

    T_ItemCollection

    COL_CollectionID : SMALLINT

    COL_ItemCode : VARCHAR(20)

    FK_T_CollectionID() FK_T_ItemCollection25()

    TC_T_ItemCodeCollectionID()

    0..*

    1

    0..*

    1

    T_Item

    COL_ItemCode : VARCHAR(20)

    COL_ItemName : VARCHAR(50)

    COL_ItemCreationData : DATETIMECOL_ItemEntryDate : DATETIME

    COL_ItemOwner : VARCHAR(50)

    COL_ItemDescription : VARCHAR(500)

    COL_ItemType : VARCHAR(2)

    COL_ItemRegion : VARCHAR(50)

    COL_RoomCode : VARCHAR(10)

    PK_T_ItemCode()

    FK_T_RoomCode()

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    0..*

    1

    0..*

    1

    0..*

    1

    0..*

    1

    Figure Data Model Diagram fully developed database design

  • 8/2/2019 MIS Architectural Design

    22/25

    Museum Information System

    Page 22

    5.3 Database Schema

    The following database schema results from applying a forward engineering process onthe above data model diagram in Rational Rose. The database specification target is

    Microsoft Access.

    An exhibition can display one or more collections.A collection can be displayed in different exhibitions in different periods.CREATE TABLE S_Museum.T_ExhibitionCollection (

    COL_CollectionID SMALLINT NOT NULL,COL_ExhibitionID SMALLINT NOT NULL,CONSTRAINT TC_T_ExhibitionIDCollectionID UNIQUE NONCLUSTERED

    (COL_ExhibitionID, COL_CollectionID))

    CREATE TABLE S_Museum.T_Room (COL_RoomCode VARCHAR ( 10 ) NOT NULL,COL_RoomName VARCHAR ( 50 ),COL_RoomFloor VARCHAR ( 10 ) NOT NULL,COL_RoomDescription VARCHAR ( 2000 ),COL_RoomSize SMALLINT NOT NULL,CONSTRAINT PK_T_RoomID PRIMARY KEY NONCLUSTERED

    (COL_RoomCode))

    A collection can have one or more items.

    An item can be part of one or more collections.CREATE TABLE S_Museum.T_ItemCollection (

    COL_CollectionID SMALLINT NOT NULL,COL_ItemCode VARCHAR ( 20 ) NOT NULL,CONSTRAINT TC_T_ItemCodeCollectionID UNIQUE NONCLUSTERED

    (COL_ItemCode, COL_CollectionID))

    CREATE TABLE S_Museum.T_Collection (COL_CollectionID SMALLINT NOT NULL,COL_CollectionDescription VARCHAR ( 2000 ),

    COL_CollectionName VARCHAR ( 100 ) NOT NULL,CONSTRAINT PK_T_CollectionID PRIMARY KEY NONCLUSTERED(COL_CollectionID)

    )

    CREATE TABLE S_Museum.T_Exhibition (

  • 8/2/2019 MIS Architectural Design

    23/25

    Museum Information System

    Page 23

    COL_ExhibitionID SMALLINT NOT NULL,COL_ExhibitionStartDate DATETIME,COL_ExhibitionEndDate DATETIME,COL_ExhibitionDescription VARCHAR ( 2000 ),COL_ExhibitionName VARCHAR ( 100 ) NOT NULL,CONSTRAINT PK_T_ExhibitionCode PRIMARY KEY NONCLUSTERED

    (COL_ExhibitionID))

    A person can be:- an author of one/more books/software programs/audiovideo records/computers,- the owner/member of a company- the owner of an user account- the owner of an item

    CREATE TABLE S_Museum.T_Person (COL_PersonID VARCHAR ( 20 ) NOT NULL,

    COL_PersonLastName VARCHAR ( 50 ) NOT NULL,COL_PersonBirthDate DATETIME,COL_PersonFirstName VARCHAR ( 50 ),COL_PersonCurriculum VARCHAR ( 2000 ),CONSTRAINT PK_T_PersonID PRIMARY KEY NONCLUSTERED

    (COL_PersonID))

    Specific information about items of type book. This table can only be used together withthe T_Item table.CREATE TABLE S_Museum.T_Book (

    COL_ItemCode VARCHAR ( 20 ) NOT NULL,More detailed description of the book.COL_BookDescription VARCHAR ( 2000 ),COL_BookPublisher VARCHAR ( 50 ),CONSTRAINT PK_T_ItemCode PRIMARY KEY NONCLUSTERED

    (COL_ItemCode))

    Intermediate table: link a book to one or more authors (person/company)CREATE TABLE S_Museum.T_BookAuthor (

    COL_ItemCode VARCHAR ( 20 ) NOT NULL,

    COL_PersonID VARCHAR ( 20 ) NOT NULL,CONSTRAINT TC_T_PersonIDItemCode UNIQUE NONCLUSTERED(COL_PersonID, COL_ItemCode)

    )

    CREATE TABLE S_Museum.T_Computer (COL_ItemCode VARCHAR ( 20 ) NOT NULL,COL_ComputerModel VARCHAR ( 20 ),

  • 8/2/2019 MIS Architectural Design

    24/25

    Museum Information System

    Page 24

    COL_ComputerCompanyName VARCHAR ( 50 ),COL_ComputerHertz SMALLINT,COL_ComputerRAM SMALLINT,COL_ComputerMIPS SMALLINT,COL_ComputerDescription VARCHAR ( 2000 ),CONSTRAINT PK_T_Computer20 PRIMARY KEY NONCLUSTERED

    (COL_ItemCode))

    CREATE TABLE S_Museum.T_Simulation (Operating System nameCOL_SimultationOS VARCHAR ( 50 ),COL_ItemCode VARCHAR ( 20 ) NOT NULL,COL_SimultationGoalDescription VARCHAR ( 2000 ),CONSTRAINT PK_T_Simulation21 PRIMARY KEY NONCLUSTERED

    (COL_ItemCode))

    CREATE TABLE S_Museum.T_AudioVideo (Minutes/SecondsCOL_AudioVideoLength SMALLINT NOT NULL,Name of the audio/video format.COL_AudioVideoFormat VARCHAR ( 50 ) NOT NULL,COL_ItemCode VARCHAR ( 20 ) NOT NULL,COL_AudioVideoDescription VARCHAR ( 2000 ),CONSTRAINT PK_T_AudioVideo22 PRIMARY KEY NONCLUSTERED

    (COL_ItemCode))

    Table of items of the museum. This table contains common information about items,regardless of their type. Each specific item type has a separate table, linked byItemCode field.CREATE TABLE S_Museum.T_Item (

    COL_ItemCode VARCHAR ( 20 ) NOT NULL,COL_ItemName VARCHAR ( 50 ) NOT NULL,The day the item was pubblicizedCOL_ItemCreationData DATETIME NOT NULL,The day the museum acquired or received the item.COL_ItemEntryDate DATETIME NOT NULL,

    Owner name. The owner can be a person, a group of people, or a company(including the museum itself).There is also a separate reference field to the owner table.COL_ItemOwner VARCHAR ( 50 ) NOT NULL,Short description of the item. A more complete description can be found in the

    specific item tables.COL_ItemDescription VARCHAR ( 500 ) NOT NULL,BK - BooksSW - SoftwareCM - Computers

  • 8/2/2019 MIS Architectural Design

    25/25

    Museum Information System

    AV - Audio VideoCOL_ItemType VARCHAR ( 2 ) NOT NULL,COL_ItemRegion VARCHAR ( 50 ) NOT NULL,COL_RoomCode VARCHAR ( 10 ) NOT NULL,CONSTRAINT PK_T_Item23 PRIMARY KEY NONCLUSTERED

    (COL_ItemCode)

    )ALTER TABLE S_Museum.T_ExhibitionCollection ADD CONSTRAINTFK_T_CollectionID FOREIGN KEY (COL_CollectionID) REFERENCESS_Museum.T_Collection (COL_CollectionID)

    ALTER TABLE S_Museum.T_ExhibitionCollection ADD CONSTRAINTFK_T_ExhibitionID FOREIGN KEY (COL_ExhibitionID) REFERENCESS_Museum.T_Exhibition (COL_ExhibitionID)

    ALTER TABLE S_Museum.T_ItemCollection ADD CONSTRAINTTC_T_ItemCollection212 FOREIGN KEY (COL_CollectionID) REFERENCES

    S_Museum.T_Collection (COL_CollectionID)

    ALTER TABLE S_Museum.T_ItemCollection ADD CONSTRAINTFK_T_ItemCollection25 FOREIGN KEY (COL_ItemCode) REFERENCESS_Museum.T_Item (COL_ItemCode)

    ALTER TABLE S_Museum.T_Book ADD CONSTRAINT FK_T_ItemCode FOREIGNKEY (COL_ItemCode) REFERENCES S_Museum.T_Item (COL_ItemCode)

    ALTER TABLE S_Museum.T_BookAuthor ADD CONSTRAINT TC_T_BookAuthor213FOREIGN KEY (COL_ItemCode) REFERENCES S_Museum.T_Book (COL_ItemCode)

    ALTER TABLE S_Museum.T_BookAuthor ADD CONSTRAINT FK_T_PersonIDFOREIGN KEY (COL_PersonID) REFERENCES S_Museum.T_Person(COL_PersonID)

    ALTER TABLE S_Museum.T_Computer ADD CONSTRAINT TC_T_Computer214FOREIGN KEY (COL_ItemCode) REFERENCES S_Museum.T_Item (COL_ItemCode)

    ALTER TABLE S_Museum.T_Simulation ADD CONSTRAINT TC_T_Simulation215FOREIGN KEY (COL_ItemCode) REFERENCES S_Museum.T_Item (COL_ItemCode)

    ALTER TABLE S_Museum.T_AudioVideo ADD CONSTRAINT TC_T_AudioVideo216FOREIGN KEY (COL_ItemCode) REFERENCES S_Museum.T_Item (COL_ItemCode)

    ALTER TABLE S_Museum.T_Item ADD CONSTRAINT FK_T_RoomCode FOREIGNKEY (COL_RoomCode) REFERENCES S_Museum.T_Room (COL_RoomCode)