is 4424: developing the entreprise database frederic adam
TRANSCRIPT
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
developersORACLE 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
• ReportsTypes of decisions:NormalisationData access – indexesSecurity 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 entitySelected keyAttribute of one entity that is primary keyin 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 describean association between 2 entities
• Relationship
• Ordinality
• Cardinality
• Associative Entity
Minimum number of occurrence ofone 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 thebusiness 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