Please enable JavaScript.
Coggle requires JavaScript to display documents.
Unit 10 (Data Management) (Object Relational Mapping (Classes (Attribute…
Unit 10 (Data Management)
Store persistent objects
Software Application
General
Need to exist
Between execution
Among several instances
Files
Hold data
Magnetic disks
Disks
Tapes
Objects serialised
ObjectOutputStream
Persist
writeObject
Retrieve
readObject
File structures
Fixed length
CSV
Delimited (variable length)
Header & Detail
XML
Tagged detail
Organisation/Acess
Organisation
Serial
Appended
Sequential
Ordered
Random
Algorithm
Convert key to address
Access
Serial
Read
#
#
Index-Sequential
Using indexes
Find records in Sequential file
Improve access time
Direct
Move to direct record
Relative
Hashed addressing
Types
Master
Persistent data
Indexes
Speed access
Backup
Second copy
Duplicate of master
Restructured core transactions
Delete at completion
Parameter
Hold data
System settings
Config infos
Transactions
Business transactions
Master files
Issues
Redundancy
Grows wtih applications
Duplication
Inconsistency
Not updated concurrently
Maintenance
Serialisation
Data structure changes
DMBS
Exact storage
No need to know
Effective usage
Database Structure
CRUD
SQL
Design
Architecture choices
System Design
Storage choice
Class Decision
Associations
Classes
Constraints
Existing systems
DBMS
Questions
Files storage
Object-Orientated System
Interface
Existing DMBS
Relational
Oracle
MySQL
Classical
NoSQL
Object
db4objects
JADE
Layering
Logical
Physical
Distributed Data Storage
Distributed System
Communication protocols
Internalisation with locale
Need to use generic labsls
Look-up table
Map languages
Store in files
Packages
Java.util
Locale
ListResourceBundle
ResourceBundle
Object & Relational
Object
Serialised to files
Examples
Store object as objects
Handle nested objects
Graphics
Multimedia
Relational
Hybrid
Datain tables
Objects in tables
DBMS
#
Objects directly stored
Database navigation
Linked to OOP
Transparent materialisation
Referring to object
Update transactions
Start transaction method
End transaction method
Storage of object data only
Operations implemented in OOP
Relational
Examples
Data in tables
Rows of data
Organised in columns
Normalisation
Flatten tables
Reduce duplication
Carried out to third-normal form
DBMS
File storage
#
Abstraction
Hidden physical layer
Holds data
Various applications
Applications have subset
Structure hidden from developers
Stored in files
Features
Data Definition Language
CREATE TABLE
DROP TABLE
Data Manipulation Language
CRUD
CREATE TABLE
UPDATE
SELECT * FROM Table
DELETE FROM
Security
Encryption
Password-protection
Transactions
Relevant records updated
Include
Commit
Rollback
Concurrency
Enable different users
Manipulate data simultaneously
Integrity Constraints
Not-null
Specify permissable type
Enumerated types
Advantages
No duplication
Conceptual schema
No effect
Data
Logical model of data
Internal schema
Does not affect
#
Disadvantages
Cost
Running
Proprietary DBMS
Processing overhead
Converting data
Object Relational Mapping
Frameworks
Hibernate
Java Data Objects
Known as Object-table mapping
Classes
Become tables
IDs become primary keys
Attribute class
Create table
Collections
Two tables
Objects in collection
Object IDs
Containing
Contained
Associations
One-to-Many
Treated as collection
Many-to-Many
Two separate tables
Table to hold pairs of Object IDs
One-to-one
Foreign-key attribute
Classes gain attributes for Object IDs
Inheritance
Implement superclass
Include all subclass attributes
Duplicate superclass attributes in all tables
Implement super & subclass tables
Share primary keys
Persistent Frameworks
Provides service
Set of
Classes
Interfaces
Tasks
Mapping
Database records
Objects
Transaction processing
Concepts
Mapping
Database table
Class
Persistent store
Attributes
Object attributes
Field records
Object identity
Unique
Database Mapper
Responsible for
Materialisation
#
Dematerialisation
#
Transform
object
into
record
Transform
record
into
object
Stored in
cache
#
improves performance
Cache
Dematerialisation
Materialisation
Lazy
On-demmand
Transaction
State of object
Update Persistent store
Operations
Commit
Rollback
Virtual Proxy
Supports lazy materialisation
#
Standard APIs
Map attributes in relational databases
From Classes
To Columns
Alternatives
NoSQL
No predefine schema
Composed of data
High volume
Unstructured
Categories
Key-value stores
Column-orienate
Neo4J
Graphs
Document-orientated
Data Warehouse
Designed
Business transactions
Persisting transaction data
Relational DB
Supports
Querying
Analysis
Acts as second database
Enables exploratory analysis
Efficiency unaffected
Various data sources
Store historic data
Provides business intelligence
Managers
Clients