Day 1 Flashcards
Database definition
A generalised, integrated collection of data, structured on data relationships, providing necessary access paths, to each data item, in order to fulfil the differing needs of all users
Database definition, definitions
Generalised - holds all relevant data for an organisation
Integrated - in a single system without duplication
Structured - for methodical use and maintenance
Natural - for easy access in common terms
For all - despite users different requirements
Database or Data files
Database - a unified system to support multiple apps
Data files - specific or particular datasets and single applications
In a file based environtment:
- Every application needs to know low-level detail of file structure
- Management of concurrent data access by several applications is difficult (read/write locking)
- Maintenance of applications over time is complicated
Example applications
Commercial:
- Product Marketing
- Sales
- Personnel Management (recruitment, training)
- Finance (payroll, accounts)
Professional:
- Engineering design (CAD)
- Library catalogue and loan management
- Transport scheduling / logistics
- Broadcast media production
- Medical/Military/Government
Domestic/Hobby:
- Personal contacts/address book
Example scenarios: Sales fulfilment
Process steps
- Receive order enquiry: check customer / product files (credit; prices)
- Check product availability / production schedule (delivery times)
- Dispatch if stock is available
- If no stock, refer to production control (schedule more to be made)
- Check component stock availability
- Schedule production or place orders for more parts …
- Check parts stock files …
Consequences:
- Several departments manage their own area of data but each need to access another area
- Keep copies (that might become out of date)
Example scenario: File processing
refer to slide 11, presentation a
File processing problems
- Each Application (or Business Department) keeps and manages its own files
- Data needed by several apps/depts is duplicated in multiple files
- File formats defined by application program code
- Data transfer and reconciliation is time-consuming
- Data can become inconsistent between systems
But …
- Sharing one file to multiple applications makes file access and process change harder to manage
- Read/write locking
Database: Solutions
- Data storage formats are independent of application code design
- Changes to storage needed for one application do not require changes to other application code
- Changes to application code do not require changes to storage formats
- Each application has its own view of data formats
- Overall database management system (DBMS) looks after mapping between views and underlying data storage reality
Example scenario: Database version
refer to slide 14 presentation a
Database advantages
Data Integrity – avoid duplicate copies, inconsistency, redundancy
Data Security – single point of control, backup and standards
Common structure – at organisational level
Data independence – separate applications share one data store
User familiarity – each user group can have own view(s)
Productivity:
– all concerned can see data from one input step – uniform data access / manipulation languages
– simpler maintenance / system adaptation
Economy of scale – shared resources, better quality
Database disadvantages
Complexity:
– managing data model to support all applications
Costs
– DBMS software more costly than ‘ordinary’ SDEs
– extra hardware required to hold ‘metadata’ – system conversion can be disruptive / expensive – greater staff skillset required – increased payroll
Risk
– system complexity increases risk of design error – centralization of resources increases system vulnerability
– ‘single point of failure’; ‘all eggs in one basket’
Performance
– DBMS generalized to support all applications, so each one may be less efficient than when alone
Data Context: Database Environment
Hardware:
- anything from a single device (PC, smartphone, etc) to a multi-processor site or network – inc. client-server operation
Software:
- Op Sys; Networking; DBMS; Applications
Data:
– Client’s data and meta-data (data dictionary; schemas, etc.)
Processes:
– Procedures and rules to be applied to data and meta-data when designing and operating the database
Personnel:
– Data Administrator; Database Administrator; - Database designers (logical/physical);
- Application programmers; End users (naïve/sophisticated)
Data Context: Database Architecture: ANSI/SPARC
- Presentation A slide 19
Data Context: Example Mappings
- Presentation A slide 20
Data Context: Database Architecture: ANSI/SPARC
- Internal, External and Conceptual Schema
- Overall Database Design appears in the Conceptual Schema
- Internal and External Schemas map overall concepts onto Physical Storage and User/Application Views respectively