4.5 KiB
4.5 KiB
Lecture 1 (13:00) Organisation
32741 ( Module Code )
Module Information
- 67 hours of private study across all modules in semester 1
- Exercise booklet on blackboard
- Semester 1 Coursework 50%
- Semester 2 Coursework 50%
Reading
- Preface, C.1 & C.2 of exercise booklet.
Lecture 2 (15:00) Introduction
Applications of Databases
- Supermarket
- Barcode DB
- Price Retrieval
- Stock Control
- Credit Card
- Credit Limit Check
- Security Check
- Other
- Library
- Websites
File-Based Systems
- Attempt to digitise information
- Collection of application programs
- Each performs a front end interface
- Each manages and defines its own data
- Limitations lay the foundations to what we have now
Limitations
- Separation and isolation of data
- Incompatible file formats
- Fixed queries (written by the developer, not the end user) / proliferation of application programs
- Data duplication
- Costs money and time to enter data multiple times
- individual, independent instances of data
- Additional storage space taken
- Loss of data integrity and parity (consistency lost), since they are individual sources of data.
- Ex. Payroll and Personnel data duplicated across DB
- Data dependence
- Physical structure / storage of data / records is defined in application code
- Difficult to change structure
- Programs have to be modified if structure needs changing
Databases
- Shared collection of logically related data (+ description), designed to fit needs.
- Self-describing collection of integrated records
Database System
- Collection of data stored on files
- Database Management System ( Interface )
- Variety of users
Database Management System
- Software that enables the creation, definition, and maintenance of databases. and provides controlled access.
- User Interaction is provided through User Programs (Queries), examples of include:
- Add Data
- Delete Data
- Update Data
- Retrieve Data
Functions of DBMS
- Data Integration
- Stored efficiently
- Minimises duplication and redundancy
- Data Integrity
- No corruption or inconsistency
- Data Security
- Data is not lost or made inconsistent through system failures, or through deliberate corruption.
- Data Independence
- Isolates users from physical data
- User has logical model interface of database
Users of a DB Environment
- Data Admin
- Consults and advises senior management
- Ensures database serves its purpose
- Database Admin
- Technically oriented
- Ultimate control over data structure and access
- Database Designers
- Designs structure of database to cater to needs
- Application Programmers
- Designers of end user applications
- End Users
- Clients who require access to the database
- No control over function of the applications
- May have little to no knowledge on back-end
Advantages over File-Based
- De-Duplication
- Lowers risk of inconsistency
- More users share more data
- Improved Security
- Improved accessibility and responsiveness
- Department boundaries crossed, data is no longer independent
- Provides query language
- On-demand access
- Improved productivity
- Provides many standard functions programmers would have to hard code
- Improved maintenance
- Separates data descriptions from applications
- Improved backup and recovery
Disadvantages
- Complicated
- Large / Heavy
- Expensive setup
- May incur additional storage space
- Cost of conversion
- Performance may not be as good as file-based
- Higher impact of failure
Relational DBMS
- Dominant DBMS in use
- Estimated sales of $15-20m/year
- Established in 1970
- Simple logical structure
Relational DB
- Stored in files called relations (tables)
- Consists of rows and columns
- Carries data on one kind of entity ex. Cars
- Commonly addressed as entity-name(attributes). Ex. Cars(Model, Age, Colour)
- Primary Key - The identifying attribute of a table. Ex. Registration Plate (Unique)
- Goal is to remove as much redundant data as possible.
- Foreign Key - another unique key to provide an index to another table.
- Attribute that is linked to the primary key of another table
Reading
- C.1 Connolly & Begg (2014 & 2004)
Workshop 1 (9:00)
SELECT *
FROM [Customers];
WHERE [Country] = "Germany";
SELECT *
FROM [Customers];
WHERE [Country] = "Germany" AND [ContactTitle] = "Sales Representative";