IS 4424: Developing the Entreprise Database Frederic Adam
Course Content Data Modelling Analysing requirements Sizing Developing large DBs Administering the DB Other key issues (e.g. KM, DW etc…) Chosen Platform ORACLE
Oracle Industry standard #1 pb: rate of change and upgrade Complexity: manuals = 20,000 pages –(error message manual = 1700 pages) DBs are at the core of most business applications –Knowledge of ORACLE is key for developers ORACLE is not a bucket in which you throw your data
Characteristics of DBs… …which ORACLE features: High concurrency (high performance under load) Multi-user (read does not interfere with write) Data consistency – changes to data don’t affect running queries + no phantom data changes High degree of recoverability (pull the plug test)
ACID test Atomicity Consistency Isolation Durability
ACID test Atomicity Consistency Isolation Durability All or nothing Preserve consistency of database Transactions are independent Once committed data is preserved
Why DB projects fail? Ignoring the technology (HW / SW) Estimating performance wrong Getting the sizing wrong Fudging the testing (Pareto principle) Confuse the responsibilities for DB = ANALYSIS of pb
Analysis of Problem Data model Technical decisions (sizing / hardware…) Functionalities Interface Reports Types of decisions: Normalisation Data access – indexes Security options (level; roles…)
Entity Relationship Model Entity Attributes Instance(s) Domain Key (candidate primary and foreign)
definitions Entity Attributes Instance(s) Domain Key (candidate primary and foreign) Object in real world distinguishable from others Description of entity – shared attributes Range of possible values for attribute Attribute that uniquely identified an entity Selected key Attribute of one entity that is primary key in another one (Number of) occurrences of an entity
Relationship sets Relationship Ordinality Cardinality Associative Entity
Definitions (2) Association of two or more entities Entity whose attributes describe an association between 2 entities Relationship Ordinality Cardinality Associative Entity Minimum number of occurrence of one entity relative another one – optionality or dependency Maximum number…
Some test questions Is it a bird is it a plane? Is it an entity or an attribute?
Some test questions Is it a bird is it a plane? Is it an entity or an attribute? No, it’s Superman e.g. address [more than one per emp.?] Matter of analysis of the business problem
From data modelling to DB design Ideally, one data structure = one schema But DBs not always developed in one go Organisations merge… Need to integrate schemas Difficult to anticipate and resolve conflicts (eg names…) = ERP projects
I/O Trap Reading existing data Changing existing data –Update existing records –Adding new records –Deleting records All these involve going to disk => slowest device by considerable margin Minimise / reschedule physical I/O