example project proposal of hotel reservation system0
TRANSCRIPT
![Page 1: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/1.jpg)
Introduction
Ellen WalkerCPSC 356 Database Design
Hiram College
![Page 2: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/2.jpg)
CPSC 356: Database Design
• Sources of information– Ellen Walker ([email protected])
– Web page (http://cs.hiram.edu/~walkerel/cs356)Syllabus handout (available on the web page)
![Page 3: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/3.jpg)
Database Implementation
Projects• External clients • Clients will…
– Meet with you within the next two weeks
– Approve each of 3 major phases– Attend presentations on the last day of class
– Help me to evaluate your projects• You may find your own client, but you cannot be your own client
![Page 4: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/4.jpg)
Database Implementation
Projects• You will…
– Each take a role on the project (see overview document) and switch roles for each phase
– Meet regularly (at least once a week) - in person or electronically (and keep minutes)
– Submit preliminary reports and final phase deliverables as specified in the syllabus. (Only final deliverables are graded).
– Submit confidential evaluations of your group members with each deliverable.
![Page 5: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/5.jpg)
Project Groups
• Usually, projects are done by groups of 3-4 people
• We have 5 in the class– Divide into 2 groups (2, 3)– Work as a single group (5)
![Page 6: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/6.jpg)
Entrepreneurial Mindset
• “A way of thinking and acting to create a new product, service or activity that satisfies a need and adds value to one’s self and community” -- from the grant proposal
• As consultants, you will apply this mindset throughout your project
• At points in the course, we will look at relevant literature and examples of entrepreneurship in the software industry.
![Page 7: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/7.jpg)
What is a Database?
• “Collection of related data”• Usually large (too large to fit in computer memory at once)
• Can be centralized or distributed• Generally accessed by “query” -- retrieving only “relevant” parts at once
![Page 8: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/8.jpg)
Where are Databases?
• E-commerce (e.g. shopping carts)• Airline & hotel reservation systems
• Credit card bureaus• Manufacturers (e.g. parts, tests, defects)
• Libraries• ERP systems (e.g. SCT Banner)
![Page 9: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/9.jpg)
Where else are databases?
• The human genome project• Finance software (e.g. quicken)
• …
![Page 10: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/10.jpg)
Who Interacts with Databases?
• Creating the System– System Analyst– Database Designer – Application Programmer – Project Manager
• Once the System Exists– Database Administrator– System Administrator– End User
![Page 11: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/11.jpg)
Advantages of Databases
• Redundancy Control• Data Consistency and Integrity• Data Sharing and Integration • Security• Improved Maintenance• Concurrency (without data loss)• Backup & Recovery services
![Page 12: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/12.jpg)
Disadvantages…
• Complexity• Size• Cost (Hardware & Software)• Performance • Conversion• Risk of failure
![Page 13: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/13.jpg)
File-based Systems
• Since the 1950’s…• Methods and vocabulary from paper records
• Custom-programmed individual applications– Sales (enter data, retrieve properties, contact clients)
– Contracts (enter data, record leases)
![Page 14: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/14.jpg)
Terminology
• File - collection of records• Record - set of logically connected data (one instance)
• Field - element of a record• Example:
– File = library card catalog– Record = one card– Field = author’s name
![Page 15: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/15.jpg)
Dream Home Example
• Sales– Property record (address, owner, rooms, rent)
– Client record (name, address, phone,property requirements)
• Contracts– Lease record (client, property, rent, payment info)
– Property record (address, rent)– Client record (name, address, phone)
![Page 16: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/16.jpg)
What’s Wrong?
• Each program stores its own data– No cross-program queries (% of clients that actually rented?)
– Multiply entered data (property addresses)• Cost• Inconsistency
• … in its own format– Incompatible data files– Change the format -> change the program!
• … to satisfy a limited set of queries– Program proliferation!
![Page 17: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/17.jpg)
How to Fix?
• Separate data handling from application program
• Make data definitions standardized and external
• Develop reusable query algorithms to be controlled by external information
![Page 18: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/18.jpg)
Better Definition of Database
• Database: A shared collection of logically related data and a description of data, designed to meet the information needs of the organization.
• Database Management System (DBMS): A software system that enables users to define, create, maintain, and control access to the database.
![Page 19: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/19.jpg)
Data / Program Separation
• In addition to data, database holds meta-data (data about data), e.g. field names and data types.
• DBMS now a single program (for all databases) that acts on both meta-data and data
• Provides a form of data abstraction
![Page 20: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/20.jpg)
Organizing Data
• Entity - a distinct object (noun) to represent
• Attribute - property of an entity• Relationship - association between entities (usually a verb)
• Example– Entities: customer, home– Attributes: name (of customer), address (of home)
– Relationship: customer RENTS home
![Page 21: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/21.jpg)
Database Management System
DatabaseDBMS
Query
Update
Update(non-db op)Query
Transaction
Low-levelOperations
e.g. RelationalAlgebra
High LevelLanguage(e.g. SQL)
![Page 22: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/22.jpg)
DBMS Software
• Data Definition Language– Specifies meta-data (data types, structure, constraints)
• Data Manipulation Language (e.g. SQL)– Insert, update, delete and retrieve data
• Access control– Security, Integrity, Concurrency, Recovery
![Page 23: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/23.jpg)
Components of DBMS Environment
• Hardware (servers, clients, storage)
• Software– DBMS environment (e.g. Access, Oracle)– Application programs
• Data• Procedures (in the “real world”)
– Control the design & use of the database
• People
![Page 24: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/24.jpg)
Database Design
• Find an appropriate schema (organization of attributes into tables) based on– Needs of the entire organization– Efficiency of access– Ease of maintenance– Logical relationships among the attributes (normalization)
![Page 25: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/25.jpg)
Bad Ideas for Database Design
• Representing the same information multiple times in different tables
• Putting entirely unrelated attributes in the same table
• Confusing views and schemas
![Page 26: Example Project Proposal of Hotel Reservation System0](https://reader036.vdocuments.us/reader036/viewer/2022081717/5535789c5503467c7a8b45cb/html5/thumbnails/26.jpg)
3 Phase Database Design
• Conceptual Design – Independent of all physical considerations– Validate against requirements (cannot be implemented!)
• Logical Design– Lower-level model for a particular kind of database (Relational vs. Hierarchical vs. Object-oriented)
• Physical Design– Data structures, disk layout, etc.