INFO20003 Database Systems

1 What are Database Systems?

Data vs Information

DataInformation
known facts stored and recorded.Data presented in context (can be summarised data).
text, numbers, dates, images, video, sound, etcProcessed and more useful

Metadata

  • data about data
  • can include
    • constraints
    • rules
  • structure
  • Why we need it - to give data
    • consistency
    • meaning
  • We generate a data dictionary as part of the analysis of system requirements

Database

  • a large, integrated, structured collection of data
  • usually intended to model some real-world enterprise

Database Management System (DBMS)

  • software designed to…
    • store
    • manage
    • facilitate access to
  • …databases

DBMS vs File Processing Systems

Disadvantages of File ProcessingAdvantages of DBMS
Program-Data DependenceData Independence
Duplication of dataMinimal data redundancy
Limited data sharingImproved data sharing
Lengthy development timesReduced Program maintenance
Excessive program maintenanceReduced Program maintenance
Hard to create adhoc reportsEasy to create adhoc reports
SecurityData integrity and security
  • Program-Data Dependence

    • if the file structure changes, so does the program
    • what if you change data structure for one program
  • Data Independence

    • Application programs should not, ideally, be exposed to details of data representation and storage. The DBMS provides an abstract view of the data that hides such details
  • Duplication of data

    • wasteful, inefficient, loss of data integrity
  • Minimal data redundancy

    • redundancy can be controlled through a process called normalization
  • Limited data sharing

    • if a company uses a file processing system then that system has to be individually shared with people who want to view it, and each shared copy has to be individually updated when something in the system is changed
  • Lengthy development times

    • slower to have to use your own custom code to
      1. open files
      2. parse them into useable data
      3. create some interface to access the parts of the file that are relevant
      4. manage concurrency
      5. backup the data
      6. allow for rollbacks etc. (all of the fancy things that DBMS can do, you’d have to replicate that all yourself!)
  • Improved data consistency

    • single store: no disagreements, updata problems, less storage space
  • Excessive program maintenance

    • up to 80% of development time in traditional file based organisations is for maintenance
  • Reduced program maintenance

    • data structure can change without application data changing
  • Hard to create adhoc reports

    • data tied to application, hard/slow to create adhoc reports
  • Easy to create adhoc reports

    • Novel ad hoc data access ‘without programming’ using SQL
  • Security

    • Operating system provides only a password mechanism for security
    • This is not sufficiently flexible to enforce security policies in which different users have permission to access different subsets of the data
  • Data integrity and security

    • if data is always accessed through the DBMS, the DBMS can enforce integrity constraints
    • for example, before inserting salary information for an employee, the DBMS can check that the department budget is not exceeded
    • also, it can enforce access controls that govern what data is visible to different classes of users

2 Database Development Process

1 Database Planning

  • Planning how to do the project
    • How does the enterprise work
    • Enterprise data model
      • top level perspective on data requirements
      • each box would have a data model

2 Systems Definition

🏗️ ...Work in Progress... 👷‍♀️