* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Systems Analysis & Design with Databases
Oracle Database wikipedia , lookup
Serializability wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Ingres (database) wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Relational model wikipedia , lookup
Versant Object Database wikipedia , lookup
ContactPoint wikipedia , lookup
Concurrency control wikipedia , lookup
Information Retrieval and Use De-normalisation and Distributed database systems Geoff Leese September 2008, revised October 2009 1 Mapping the logical model onto physical design Entities become tables 2 More often than not! Attributes become fields (columns) Unique identifiers become primary keys Relationships implemented by foreign key columns Resolve M:N relationships by inserting intersection table Mapping considerations Independence Privacy Efficiency of queries 3 Denormalisation Joins take time! Split or merge normalised entities based on frequent associated use Remove redundant relationships Merge entities with 1:1 relationships Use summary fields Use summary tables and views 4 Using summary field(1) Consider running a query “give the total value of all orders for customer X” How many joins? 5 Using summary field (2) Note summary field in Orders table How many joins now? 6 Distributed database systems 7 Special rules apply! The traditional model One centralised database Terminals at remote locations Disadvantages Networks are slow (esp WANS!) Central machine does all processing If central machine fails, database is down (Integrity, redundancy and disaster recovery considered in later lectures!) 8 The Client/Server model Client – application – “front end” Server – DBMS – “back end” Still dependent on central database 9 Client responsibilities 10 Manages user interface Accepts user data Has local processing capability within the application Generates database requests and transmits them via network to server Receives results from server and formats them as required by application Server responsibilities Accepts database requests from client Processes database requests Handles security issues Deals with concurrency issues Optimizes queries Handles recovery/rollback issues 11 Returns results to client Distributed database architecture A collection of logically related “sites”, connected together so that the users view is that of a single database at a single location. Each site is a database in it’s own right Not necessarily physically or geographically separated, but often are – and are logically separated. 12 Advantages Organisations are distributed, why shouldn’t their data be? Improved efficiency Store 13 data close to where it’s used Types of DDS Homogenous – same type of RDBMS at each site (easy!) Heterogeneous – different types of DBMS at each site (not so easy!) 14 Implementation methods (1) Fragmentation – splitting data between sites – row based – e.g. store all employee records for a location at that location Vertical – column based – e.g. store all payroll columns in payroll department, all other employee data in HR Horizontal 15 Either way, fragments must be able to be put back together! Implementation methods (2) Replication Controlled duplication of data at more than one site 16 Update propagation? Objectives (1) Local autonomy Local data locally owned and managed – minimal data requirements from remote sites. No reliance on central site Continuous operation Reliability Availability 17 Objectives (2) Location independence From user’s view, all data is at their site. Fragmentation independence Needs joins and unions to put fragments back together 18 Replication independence Objectives (3) Distributed query processing Distributed transaction management Transactions carried out by “agents” at distributed sites Two-phase commit Locking issues (later lecture) 19 Objectives (4) Hardware independence Operating system independence Network independence DBMS independence 20 DDS issues Query processing Optimisation even more important Catalogue (data dictionary) management Centralised? Fully replicated? Partitioned? Combination of first and third? 21 DDS issues Update propagation An issue where replication is used. “Primary copy” system Recovery Two-phase Recovery Locking 22 commit strategies Summary Mapping the logical model Denormalisation Traditional database architecture Client/server model Distributed Database systems 23 Advantages Objectives Implementation methods Issues Further reading Rolland chapter 10 Hoffer chapters 12 24 Denormalisation - click to follow the link!