Object Oriented Design with UML and Java. PART XVIII: Database Technology
|
|
|
- Allen Norris
- 10 years ago
- Views:
Transcription
1 Object Oriented Design with UML and Java PART XVIII: Database Technology Copyright David Leberknight & Ron LeMaster. Version 2
2 What is a Database? Computerized record-keeping system. Collection of stored (persistent) operational data. The Data Model (schema) Data (integrated and shared) Hardware (physical considerations) Software (the DBMS, client applications) Users (programmer, end-user, DBA) Numerous other features... ( XVIII ) Database Technology - 2
3 Motivations Businesses usually want their data to persist independently of software. When a program is re-started, it should appear as if the objects were always there. Multiple applications may need to work with the same objects. When one object wishes to talk to another, it should not need to know if that object is in memory or must be fetched from the persistent storage. A business has a large number of customers, suppliers, etc Detailed information about everyone and everything needs to be collected and stored somewhere. ( XVIII ) Database Technology - 3
4 What is Persistence? Most useful software stores data in some sort of persistent storage. Files / Databases / Tapes / CDs /... Conventional programs read and write persistent data in a notably deliberate manner. Concerns about reading and writing to/from the persistent storage are separate from the concerns of the problem domain. Object-oriented programs seek to make the storing and fetching of persistent objects as transparent as possible. Both data and behavior can be persistent. Relational database technology is fast and mature with numerous available tools for manipulating and reporting on the data. ( XVIII ) Database Technology - 4
5 Centralized Control Achieves: Less redundancy Less inconsistency Data sharing Enforcing standards and naming conventions Enforcing security Integrity Concurrency Balancing conflicting requirements Data Independence from applications Having a DBA (Database Administrator) to be responsible for all of this. ( XVIII ) Database Technology - 5
6 Different Types of DBMSs Flat-File (22 b.c. - Present) One record per data entity. Works for simple data with no need for transactions. Pre-Relational (Hierarchic (965), Network (97)) Relational (Ted Codd, 98) Object (99 - present) Extended-Relational (Relational Databases go object.) NoSQL structured data (eg: Google's Bigtable) Others... (Old and Academic... Don t bother.) ( XVIII ) Database Technology - 6
7 Transaction ACID Properties Atomicity (indivisible unit of work) All or nothing. Consistency (leaves system in a stable state) If this cannot be done, the transaction will abort. Isolation (not affected by other transactions that execute concurrently) Requires a locking strategy. Durability (effects are permanent after commit) Implies persistent storage, such as a database. Database.beginTransaction( ) CheckingAccount.debit( $ ) SavingsAccount.credit( $ ) Database.commitTransaction( ) ( XVIII ) Database Technology - 7
8 Flat-file Solution: Serialization Supported directly by language in Java and Smalltalk. Supported through vendor-specific toolkits in C++. Pros: With language or toolkit support, it is simple and straightforward. Can be used for quick-and-dirty persistence on a project before the real database is up and running. Useful for things other than persistence, such as for distributed and multi-tiered applications. Cons: No transaction support. Startup or searching can be expensive if a large number of objects are stored. Not a substitute for a real database. ( XVIII ) Database Technology - 8
9 Persistence in the Real World Most of the real world uses relational databases. Based on one simple concept: the table. Four major parts: Data that is presented in tables (entities). Operators for manipulating tables. Integrity rules on tables. Associations (relationships) between tables. The design for a particular database is called a schema. Very mature technology. Available on all platforms. Wide variety of robust tools available. ( XVIII ) Database Technology - 9
10 Persistence in the Real World Objects have both data and function. In practice, data is all that is usually stored persistently. Function is provided by the executing code. Storing function in addition to data facilitates backward compatibility. Object-oriented databases are available. The easiest way to store objects persistently in a full-featured, industrialstrength Database management System (DBMS). Perform very well. No standards, yet. This is perhaps the main reason why many businesses shy away from object databases, using relational databases instead. (The secondary reason seems to be impedance mismatch with reporting tools). The right technology for many projects, especially where the data is complex and the business does not require a RDBMS for some other reason. ( XVIII ) Database Technology -
11 RDBMS Integrity Primary key. A combination of one or more attributes whose value(s) unambiguously locates each row in a table. Each table must have exactly one primary key. Foreign key. A primary key of one table that is used as an attribute in another (or the same) table. Referential integrity. The RDBMS must keep each foreign key consistent with its corresponding primary key. This can be a challenge to maintain. It is easy to delete a row from a table, for example, causing a row in some other table to have its foreign key refer to the no-longer-existent row. ( XVIII ) Database Technology -
12 Example Data Model Design a Relational ER Data Model for the following domain: Question << abstract >> #text : String #isrequired : boolean +asktheuser() = YesNoQuestion ChooseOneQuestion NumericQuestion FreeTextQuestion -default : integer -default : integer -maximum : integer -minimum : integer -default : integer 2..* { ordered } ChooseOneResponse #responsetext : String ( XVIII ) Database Technology - 2
13 Example Data Model Normalized Data Model: (one table per class hierarchy) << FK >> = Foreign Key << PK >> = Primary Key Note: the Primary Key for the Choose_one_response Table is a Composite Key: question_id + response_num question_type - YesNoQuestion - ChooseOneQuestion 2 - TextQuestion 3 - NumericQuestion Question << table >> question_id: int {NOT } << PK >> question_text: varchar(255) {NOT } required: bit {NOT } question_type: tinyint {NOT } minimum: int maximum: int default: int Choose_one_response << table >> question_id: int {NOT } << FK >> response_num: int {NOT } response_text: varchar(255) {NOT } ( XVIII ) Database Technology - 3
14 Example Data Model Question question_id question_text required_bit question_type minimum maximum default Could it be? Which is it? 2 2 Why? 2 3 How many? Choose_one_response response_num question_id response_text Example data for the tables on the previous slide: Not me. Me neither. Note: Tables are analogous to classes, while rows are like objects. 2 3 Pick me! Pick #2. ( XVIII ) Database Technology - 4
15 SQL (Structured Query Language) SQL is a standardized declarative (not procedural) language. This implies that it does not support looping or if - then logic. Note however that all RDBMS vendors provide stored procedure languages that do provide looping and other procedural constructs. The problem is that these languages are not standardized. The RDBMS will compile the SQL into procedural form under the covers using search which will be slow if the correct indexes are not maintained. Searches are linear, O( n ), by default, but can be made to be binary, O( log(n) ), by maintaining an index on every set of search keys. select c.response_text from Question q, Choose_one_response c where q.question_type = and q.question_id = c.question_id and // join the two tables c.response_num = q.default Outputs: Pick me! ( XVIII ) Database Technology - 5
16 JDBC (Java DataBase Connectivity) JDBC is a Java API which makes it possible to write % Java code that can connect with any database in a portable way. Similar to Microsoft s ODBC, which has a C interface. Refer to: import java.sql.*; Connection c = DriverManager.getConnection( jdbc:/foo, a, ); Statement s = c.createstatement(); ResultSet rs = s.executequery( Select foo, bar from TableFoo ); while( rs.next() ) { // Uses the Iterator Design Pattern int _foo = rs.getint( foo ); String _bar = rs.getstring( bar ); } ( XVIII ) Database Technology - 6
17 Normalized vs. Denormalized Normalization is the removal of structural redundancies in a data model. This implies that queries generally require more table joins, which hurts performance. Experienced data modelers generally design their schemas to be fully normalized to eliminate duplication, and then denormalize in a few select places where appropriate, for performance gains (or reporting). The force against denormalization is that whenever there are redundancies, there is risk of having mis-matches, with a corresponding increase in effort required to ensure integrity. Queries run against denormalized schemas can require fewer joins and therefore run faster. ( XVIII ) Database Technology - 7
18 Mapping Classes to Tables One table per class hierarchy. No subclass tables; bring subclass attributes up to the superclass level; add type field. If any Question subclass changes a persistent attribute, the table will change, affecting the mapping for all Question subclasses. One table per class. Each instance has one row in each table in its inheritance chain. One table per concrete class. Superclass attributes are replicated for each subclass. One class, many tables. More tables can be used to improve performance in some cases, but will degrade performance whenever two tables must be joined. Horizontal partitioning: Put infrequently used instances in another table. Vertical partitioning: Put infrequently used attributes in another table. ( XVIII ) Database Technology - 8
19 Relational Data Modeling Question question_id response_num question_text required question_type minimum maximum default response_text Could it be? Which is it? 2 Not me. Which is it? 2 Me neither. 2 Which is it? 2 Pick me! 3 Which is it? 2 Pick #2. 2 Why? 2 3 How many? Denormalized Data Model. One table for class hierarchy, and the Choose_one_response data too! The Primary Key is: question_id + response_num! Note the increase in data elements. Can increase performance for some queries at the expense of others. Note the duplicate data for questions of question_type (and the corresponding effort required to ensure consistency; find the bug). ( XVIII ) Database Technology - 9
20 Relational Data Modeling Choose_one_question question_id response_num question_text required default response_text Which is it? Not me. Which is it? 2 Me neither. 2 Which is it? 2 Pick me! 3 Which is it? 2 Pich #2 Numeric_question question_id question_text required default minimum maximum 3 How many? Text_question question_id question_text required Yes_no_question question_id question_text required default 2 Why? Could it be? One table for each concrete class (more normalized). Choose_one data is still denormalized (find the corrupt data bug). Given list of question_ids, need 4 queries to create objects. Note: no data elements. ( XVIII ) Database Technology - 2
21 Mapping Many-to-Many Associations Person << table >> person_id: int {NOT } << PK >> dob: Date {NOT }... Company << table >> company_id: int {NOT } << PK >> stock_symbol: varchar( 8 )... Person dob : Date... Employments << table >> person_id: int {NOT } << FK >> company_id: int {NOT } << FK >> begin_date: Date {NOT } end_date: Date..*..* Company stocksymbol: String... Whenever two classes have a many-many relationship, the database requires a third association table (or link table) to explicitly represent the mapping. The primary key on the link table will be the pair of foreign keys from the other tables. The Primary Key for Employments is: person_id + company_id. ( XVIII ) Database Technology - 2
22 OO to RDBMS Mapping Issues This infamous Impedance Mismatch Object Ids (OIDs). Mapping Classes to Tables is not one-to-one. XML, too! It is an effort to properly deal with all of the different kinds of database errors that can possibly occur. Deadlock, out of memory for data, out of memory for log file, bug in a stored procedure or sql query, process timeout, server crash, inadequate permissions, optimistic concurrency retries, dirty data, etc, When deadlock happens in a database, some DBMSs will chooses one of the two processes at random to kill, allowing the other one to proceed normally. ( XVIII ) Database Technology - 22
23 Object IDs Every object has an ID that is unique either within the object s class or across all objects. If you use integers for IDs and generate them yourself, use 64-bit integers. This relieves you of reclaiming and reusing Ids. Pros: Cons: Objects have identity apart from their properties. Is uniform mechanism for identification across all classes. DBMS perform well with numeric keys. Some RDBMS provide direct support for ID generation. Many classes do not have good natural primary keys (e.g. people). Users want to access data based on domain attributes. Tools such as report writers don t have an object view of the world. ( XVIII ) Database Technology - 23
24 Impedance Mismatch Example The program will maintain a list of Questions, and invoke asktheuser() for each... Given a list of question_ids (retrieved from a query), the code must instantiate a heterogeneous list of concrete subclasses of Question... Logically, the code must query the Question table given for each question_id. Then, depending on the value of question_type, it can choose the correct concrete subclass to instantiate. If the question_type is (ChooseOneQuestion) then the code must go back to the database to query Choose_one_responses. It is common for the mapping code to have to loop over the result set returned by a query, typically using a database cursor. Note that the running example models Questions, but not Answers. Data will have to be updated / inserted into the Answer table(s) within one transaction, respecting referential integrity constraints, using either optimistic or pessimistic concurrency control. This inherent difficulty in mapping objects to relational database tables is referred to as impedance mismatch. It is a very common problem in the real world. ( XVIII ) Database Technology - 24
25 Optimistic vs. Pessimistic Concurrency Pessimistic locking prevents multiple concurrent users from accessing the same object at the same time. When an object is read into memory, the corresponding record(s) in the database are locked, preventing all other processes from access to the object. This is a simple and secure approach, but can lead to serious performance problems if a lock is held for a long time on an object that others wish to manipulate. With optimistic concurrency control, objects are locked in the database only for the time it physically takes to read or write their records. Whenever an updated object gets written to the database, there must be code to prevent overwriting someone else s previous update. This is done using timestamps. When you read an object you read its timestamp; when you write it, you must compare the object s timestamp with the database s (an additional query). If the two timestamps are the same, it is OK to do the update; else, there must be code to gracefully retry the failed operation. ( XVIII ) Database Technology - 25
26 Persistence Designs All of the mapping code can be implemented as the responsibility of: Each and every persistent class. One straight-forward approach uses an abstract class that defines public interface methods save(), delete(), and retrieve(). Note that save() has two modes, insert and update. The class has an Object ID which maps to the primary key from some table. The class keeps a timestamp for optimistic concurrency control. Hard-coded embedded SQL (maybe using JBDC) is used to map every object s persistent attributes to the tables columns. Persistence frameworks Automate as much of the object to relational mapping burden as possible. Refer to EJB 3.+ Container Managed Persistence and Hibernate. Data Access Object (DAO) design pattern. ( XVIII ) Database Technology - 26
27 Persistence Designs The mapping must be represented somewhere, either as code or as metadata. Framework code must be written to interpret and maintain metadata. Tools exist to support mapping metadata (often in XML). Java s reflection capability is convenient for such a design; the metadata might say that class Foo s attribute bar maps to table Foo s column bar. The class that interprets the metadata will dynamically create a call to class Foo s methods getbar() and setbar(). With JDK 5+ the mapping may be defined with annotations. ( XVIII ) Database Technology - 27
28 Using annotations to codify // EJB entity ANNOTATION_STORAGE ) public class MyAnnotationStorageExample { private Long id; private String // this column is the primary ANNOTATION_ID") public Long getid() { return id; } public void setid(long id) { this.id = id; } FOO ) public String getfoo() { return foo; } public void setfoo( String foo) { this.foo = foo; } ( XVIII ) Database Technology - 28
29 Persistence Designs A performance optimization allows the object to be instantiated either: with just the Object ID that uniquely identifies it. with all of the object s other state data as well. If all that is required is the Object ID, then it is a waste of resources to fetch the rest of the data. In this case, use the Proxy design pattern: The proxy is a smart handle for the persistent object. The proxy knows whether the real persistent object is in memory or must be fetched, and whether it must be saved to persistent storage when it is no longer needed to be kept in memory. The proxy has the same interface as the real persistent object. Calls made to the proxy are forwarded to the real persistent object. ( XVIII ) Database Technology - 29
30 Persistence Designs How does the proxy know if an object is in memory or must be fetched? Each class keeps a cache of its in-memory instances, indexed by primary key. Another performance optimization: The persistent object keeps a dirty bit, set to false when the object is fetched. Every set<xxx> method sets dirty = true. When the object is saved, the proxy tells the actual object to store itself only if dirty = true. ( XVIII ) Database Technology - 3
31 Relational DBMS Concepts Entities (tables, primary keys) & Relationships (foreign keys). Normalization (elimination of structural redundancies). Structured Query Language (SQL). Stored procedures (procedural SQL). Indexes (ad-hoc performance tuning). Referential Integrity (can be declarative - implemented w/ triggers). Triggers (stored procedures that execute upon inserts, updates or deletes). Multi-user concurrency (locks & transactions). Security (access control). Data Independence (from client applications). Impedance mismatch with OO languages. Mathematical foundation in set theory. Fault tolerance (log file for recovery). Mature tools for administration and notably, report writing. ( XVIII ) Database Technology - 3
32 Object DBMS Concepts Not all of these statements hold true for all OODBMS vendors: Trivial mapping to OO programming languages. Lack of standards... each vendor has significant variation. Many vendors do not supply an ad-hoc query language. Support for all OO relationships (not just sets). Common use of proprietary collection classes and iterators. Often better performance (at the expense of data independence). Data is tightly coupled with programs and programming language. Abstract user-defined data types (not just a few primitive types). Procedures and Data together. Preserve data encapsulation. Single model for persistent and transient data. Record-at-a-time (does not utilize set theory). Active processing of OO language code (compare to SQL triggers). ( XVIII ) Database Technology - 32
33 Example ODBMS: JADE JADE has a programming language. JADE has a development environment. JADE has a high-performance object database that makes the storage and traversal of complex object models easy. JADE has an object manager and application servers that provide automatic object caching, distributed processing capabilities, and interfaces to Java, C#, and C++. ( XVIII ) Database Technology - 33
34 Considerations in choosing a DBMS How many applications will share the data? How many concurrent users will there be? What are all the hardware / OS platforms that the server must run on? Separate OLTP (on-line transaction processing) and reporting databases? Data warehousing / data mining? Disaster recovery? Replication? How much downtime is allowable? How fast does it have to be? How mature are the tools? How much money do you have? How much time do you have? What if your DBMS vendor goes out of business? Is Open Source OK? (yes.) ( XVIII ) Database Technology - 34
Complex Data and Object-Oriented. Databases
Complex Data and Object-Oriented Topics Databases The object-oriented database model (JDO) The object-relational model Implementation challenges Learning objectives Explain what an object-oriented data
Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational
Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational databases. 1 A Database of Students and Modules Student Student Number {PK}
How To Improve Performance In A Database
Some issues on Conceptual Modeling and NoSQL/Big Data Tok Wang Ling National University of Singapore 1 Database Models File system - field, record, fixed length record Hierarchical Model (IMS) - fixed
1 File Processing Systems
COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.
Week 1 Part 1: An Introduction to Database Systems. Databases and DBMSs. Why Use a DBMS? Why Study Databases??
Week 1 Part 1: An Introduction to Database Systems Databases and DBMSs Data Models and Data Independence Concurrency Control and Database Transactions Structure of a DBMS DBMS Languages Databases and DBMSs
DATABASE MANAGEMENT SYSTEM
REVIEW ARTICLE DATABASE MANAGEMENT SYSTEM Sweta Singh Assistant Professor, Faculty of Management Studies, BHU, Varanasi, India E-mail: [email protected] ABSTRACT Today, more than at any previous
NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre
NoSQL systems: introduction and data models Riccardo Torlone Università Roma Tre Why NoSQL? In the last thirty years relational databases have been the default choice for serious data storage. An architect
Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.
Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap. 1 Oracle9i Documentation First-Semester 1427-1428 Definitions
Chapter 1: Introduction. Database Management System (DBMS) University Database Example
This image cannot currently be displayed. Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS contains information
1. INTRODUCTION TO RDBMS
Oracle For Beginners Page: 1 1. INTRODUCTION TO RDBMS What is DBMS? Data Models Relational database management system (RDBMS) Relational Algebra Structured query language (SQL) What Is DBMS? Data is one
OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21
OBJECTS AND DATABASES CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21 Relational Model and 1NF 2 Relational model specifies that all attribute domains must be atomic A database
Chapter 1 Databases and Database Users
Chapter 1 Databases and Database Users Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1 Outline Introduction An Example Characteristics of the Database Approach Actors
Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 1 Outline
Chapter 1 Databases and Database Users Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Introduction Chapter 1 Outline An Example Characteristics of the Database Approach Actors
www.dotnetsparkles.wordpress.com
Database Design Considerations Designing a database requires an understanding of both the business functions you want to model and the database concepts and features used to represent those business functions.
Chapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases
Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860
Java DB Performance Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860 AGENDA > Java DB introduction > Configuring Java DB for performance > Programming tips > Understanding Java DB performance
Course Objectives. Database Applications. External applications. Course Objectives Interfacing. Mixing two worlds. Two approaches
Course Objectives Database Applications Design Construction SQL/PSM Embedded SQL JDBC Applications Usage Course Objectives Interfacing When the course is through, you should Know how to connect to and
Optimizing Performance. Training Division New Delhi
Optimizing Performance Training Division New Delhi Performance tuning : Goals Minimize the response time for each query Maximize the throughput of the entire database server by minimizing network traffic,
Object Oriented Database Management System for Decision Support System.
International Refereed Journal of Engineering and Science (IRJES) ISSN (Online) 2319-183X, (Print) 2319-1821 Volume 3, Issue 6 (June 2014), PP.55-59 Object Oriented Database Management System for Decision
Database Management. Chapter Objectives
3 Database Management Chapter Objectives When actually using a database, administrative processes maintaining data integrity and security, recovery from failures, etc. are required. A database management
What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World
COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan [email protected] What is a database? A database is a collection of logically related data for
7. Databases and Database Management Systems
7. Databases and Database Management Systems 7.1 What is a File? A file is a collection of data or information that has a name, called the Filename. There are many different types of files: Data files
BCA. Database Management System
BCA IV Sem Database Management System Multiple choice questions 1. A Database Management System (DBMS) is A. Collection of interrelated data B. Collection of programs to access data C. Collection of data
Chapter 6: Physical Database Design and Performance. Database Development Process. Physical Design Process. Physical Database Design
Chapter 6: Physical Database Design and Performance Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Robert C. Nickerson ISYS 464 Spring 2003 Topic 23 Database
ECS 165A: Introduction to Database Systems
ECS 165A: Introduction to Database Systems Todd J. Green based on material and slides by Michael Gertz and Bertram Ludäscher Winter 2011 Dept. of Computer Science UC Davis ECS-165A WQ 11 1 1. Introduction
Database Design and Normalization
Database Design and Normalization 3 CHAPTER IN THIS CHAPTER The Relational Design Theory 48 46 Database Design Unleashed PART I Access applications are database applications, an obvious statement that
SQL Server. 1. What is RDBMS?
SQL Server 1. What is RDBMS? Relational Data Base Management Systems (RDBMS) are database management systems that maintain data records and indices in tables. Relationships may be created and maintained
1.264 Lecture 15. SQL transactions, security, indexes
1.264 Lecture 15 SQL transactions, security, indexes Download BeefData.csv and Lecture15Download.sql Next class: Read Beginning ASP.NET chapter 1. Exercise due after class (5:00) 1 SQL Server diagrams
How To Improve Performance In A Database
1 PHIL FACTOR GRANT FRITCHEY K. BRIAN KELLEY MICKEY STUEWE IKE ELLIS JONATHAN ALLEN LOUIS DAVIDSON 2 Database Performance Tips for Developers As a developer, you may or may not need to go into the database
Overview RDBMS-ORDBMS- OODBMS
Overview RDBMS-ORDBMS- OODBMS 1 Database Models Transition Hierarchical Data Model Network Data Model Relational Data Model ER Data Model Semantic Data Model Object-Relational DM Object-Oriented DM 2 Main
Overview of Data Management
Overview of Data Management Grant Weddell Cheriton School of Computer Science University of Waterloo CS 348 Introduction to Database Management Winter 2015 CS 348 (Intro to DB Mgmt) Overview of Data Management
Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database.
Physical Design Physical Database Design (Defined): Process of producing a description of the implementation of the database on secondary storage; it describes the base relations, file organizations, and
these three NoSQL databases because I wanted to see a the two different sides of the CAP
Michael Sharp Big Data CS401r Lab 3 For this paper I decided to do research on MongoDB, Cassandra, and Dynamo. I chose these three NoSQL databases because I wanted to see a the two different sides of the
Relational Database Basics Review
Relational Database Basics Review IT 4153 Advanced Database J.G. Zheng Spring 2012 Overview Database approach Database system Relational model Database development 2 File Processing Approaches Based on
Introduction to Database Systems
Introduction to Database Systems A database is a collection of related data. It is a collection of information that exists over a long period of time, often many years. The common use of the term database
Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar
Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs
Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components
Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals 1 Properties of a Database 1 The Database Management System (DBMS) 2 Layers of Data Abstraction 3 Physical Data Independence 5 Logical
Cache Database: Introduction to a New Generation Database
Cache Database: Introduction to a New Generation Database Amrita Bhatnagar Department of Computer Science and Engineering, Birla Institute of Technology, A 7, Sector 1, Noida 201301 UP [email protected]
Introduction to Database Systems CS4320. Instructor: Christoph Koch [email protected] CS 4320 1
Introduction to Database Systems CS4320 Instructor: Christoph Koch [email protected] CS 4320 1 CS4320/1: Introduction to Database Systems Underlying theme: How do I build a data management system? CS4320
Introduction to Object-Oriented and Object-Relational Database Systems
, Professor Uppsala DataBase Laboratory Dept. of Information Technology http://www.csd.uu.se/~udbl Extended ER schema Introduction to Object-Oriented and Object-Relational Database Systems 1 Database Design
Mapping Objects To Relational Databases
Mapping Objects To Relational Databases An AmbySoft Inc. White Paper Scott W. Ambler Senior Object Consultant AmbySoft Inc. Portions of this White Paper have been modified from Scott W. Ambler s Building
Concepts of Database Management Seventh Edition. Chapter 7 DBMS Functions
Concepts of Database Management Seventh Edition Chapter 7 DBMS Functions Objectives Introduce the functions, or services, provided by a DBMS Describe how a DBMS handles updating and retrieving data Examine
Fundamentals of Database Design
Fundamentals of Database Design Zornitsa Zaharieva CERN Data Management Section - Controls Group Accelerators and Beams Department /AB-CO-DM/ 23-FEB-2005 Contents : Introduction to Databases : Main Database
DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2
1 DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2 2 LECTURE OUTLINE Data Models Three-Schema Architecture and Data Independence Database Languages and Interfaces The Database System Environment DBMS
CS352 Lecture - Object-Based Databases
CS352 Lecture - Object-Based Databases Objectives: Last revised 10/7/08 1. To elucidate fundamental differences between OO and the relational model 2. To introduce the idea of adding persistence to an
Database Application Developer Tools Using Static Analysis and Dynamic Profiling
Database Application Developer Tools Using Static Analysis and Dynamic Profiling Surajit Chaudhuri, Vivek Narasayya, Manoj Syamala Microsoft Research {surajitc,viveknar,manojsy}@microsoft.com Abstract
F1: A Distributed SQL Database That Scales. Presentation by: Alex Degtiar ([email protected]) 15-799 10/21/2013
F1: A Distributed SQL Database That Scales Presentation by: Alex Degtiar ([email protected]) 15-799 10/21/2013 What is F1? Distributed relational database Built to replace sharded MySQL back-end of AdWords
References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline
References Introduction to Database Systems CSE 444 Lecture 24: Databases as a Service YongChul Kwon Amazon SimpleDB Website Part of the Amazon Web services Google App Engine Datastore Website Part of
Introduction to Database Systems CSE 444
Introduction to Database Systems CSE 444 Lecture 24: Databases as a Service YongChul Kwon References Amazon SimpleDB Website Part of the Amazon Web services Google App Engine Datastore Website Part of
Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB
Overview of Databases On MacOS Karl Kuehn Automation Engineer RethinkDB Session Goals Introduce Database concepts Show example players Not Goals: Cover non-macos systems (Oracle) Teach you SQL Answer what
æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.
CMPT-354-Han-95.3 Lecture Notes September 10, 1995 Chapter 1 Introduction 1.0 Database Management Systems 1. A database management system èdbmsè, or simply a database system èdbsè, consists of æ A collection
Introduction to Computing. Lectured by: Dr. Pham Tran Vu [email protected]
Introduction to Computing Lectured by: Dr. Pham Tran Vu [email protected] Databases The Hierarchy of Data Keys and Attributes The Traditional Approach To Data Management Database A collection of
FHE DEFINITIVE GUIDE. ^phihri^^lv JEFFREY GARBUS. Joe Celko. Alvin Chang. PLAMEN ratchev JONES & BARTLETT LEARN IN G. y ti rvrrtuttnrr i t i r
: 1. FHE DEFINITIVE GUIDE fir y ti rvrrtuttnrr i t i r ^phihri^^lv ;\}'\^X$:^u^'! :: ^ : ',!.4 '. JEFFREY GARBUS PLAMEN ratchev Alvin Chang Joe Celko g JONES & BARTLETT LEARN IN G Contents About the Authors
The JAVA Way: JDBC and SQLJ
The JAVA Way: JDBC and SQLJ David Toman School of Computer Science University of Waterloo Introduction to Databases CS348 David Toman (University of Waterloo) JDBC/SQLJ 1 / 21 The JAVA way to Access RDBMS
Configuring Apache Derby for Performance and Durability Olav Sandstå
Configuring Apache Derby for Performance and Durability Olav Sandstå Sun Microsystems Trondheim, Norway Agenda Apache Derby introduction Performance and durability Performance tips Open source database
Practical Cassandra. Vitalii Tymchyshyn [email protected] @tivv00
Practical Cassandra NoSQL key-value vs RDBMS why and when Cassandra architecture Cassandra data model Life without joins or HDD space is cheap today Hardware requirements & deployment hints Vitalii Tymchyshyn
Logistics. Database Management Systems. Chapter 1. Project. Goals for This Course. Any Questions So Far? What This Course Cannot Do.
Database Management Systems Chapter 1 Mirek Riedewald Many slides based on textbook slides by Ramakrishnan and Gehrke 1 Logistics Go to http://www.ccs.neu.edu/~mirek/classes/2010-f- CS3200 for all course-related
ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001
ICOM 6005 Database Management Systems Design Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 Readings Read Chapter 1 of text book ICOM 6005 Dr. Manuel
Lecture 7: Concurrency control. Rasmus Pagh
Lecture 7: Concurrency control Rasmus Pagh 1 Today s lecture Concurrency control basics Conflicts and serializability Locking Isolation levels in SQL Optimistic concurrency control Transaction tuning Transaction
Maintaining Stored Procedures in Database Application
Maintaining Stored Procedures in Database Application Santosh Kakade 1, Rohan Thakare 2, Bhushan Sapare 3, Dr. B.B. Meshram 4 Computer Department VJTI, Mumbai 1,2,3. Head of Computer Department VJTI, Mumbai
CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?
CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 Introduction to Databases CS2 Spring 2005 (LN5) 1 Why databases? Why not use XML? What is missing from XML: Consistency
Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system
Introduction: management system Introduction s vs. files Basic concepts Brief history of databases Architectures & languages System User / Programmer Application program Software to process queries Software
THE WINDOWS AZURE PROGRAMMING MODEL
THE WINDOWS AZURE PROGRAMMING MODEL DAVID CHAPPELL OCTOBER 2010 SPONSORED BY MICROSOFT CORPORATION CONTENTS Why Create a New Programming Model?... 3 The Three Rules of the Windows Azure Programming Model...
CS 377 Database Systems SQL Programming. Li Xiong Department of Mathematics and Computer Science Emory University
CS 377 Database Systems SQL Programming Li Xiong Department of Mathematics and Computer Science Emory University 1 A SQL Query Joke A SQL query walks into a bar and sees two tables. He walks up to them
Overview of Database Management
Overview of Database Management M. Tamer Özsu David R. Cheriton School of Computer Science University of Waterloo CS 348 Introduction to Database Management Fall 2012 CS 348 Overview of Database Management
Topics. Database Essential Concepts. What s s a Good Database System? Using Database Software. Using Database Software. Types of Database Programs
Topics Software V:. Database concepts: records, fields, data types. Relational and objectoriented databases. Computer maintenance and operation: storage health and utilities; back-up strategies; keeping
Cloud Computing at Google. Architecture
Cloud Computing at Google Google File System Web Systems and Algorithms Google Chris Brooks Department of Computer Science University of San Francisco Google has developed a layered system to handle webscale
Topics. Introduction to Database Management System. What Is a DBMS? DBMS Types
Introduction to Database Management System Linda Wu (CMPT 354 2004-2) Topics What is DBMS DBMS types Files system vs. DBMS Advantages of DBMS Data model Levels of abstraction Transaction management DBMS
Introduction to Database Systems. Module 1, Lecture 1. Instructor: Raghu Ramakrishnan [email protected] UW-Madison
Introduction to Database Systems Module 1, Lecture 1 Instructor: Raghu Ramakrishnan [email protected] UW-Madison Database Management Systems, R. Ramakrishnan 1 What Is a DBMS? A very large, integrated
Ursuline College Accelerated Program
Ursuline College Accelerated Program CRITICAL INFORMATION! DO NOT SKIP THIS LINK BELOW... BEFORE PROCEEDING TO READ THE UCAP MODULE, YOU ARE EXPECTED TO READ AND ADHERE TO ALL UCAP POLICY INFORMATION CONTAINED
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
Conventional Files versus the Database. Files versus Database. Pros and Cons of Conventional Files. Pros and Cons of Databases. Fields (continued)
Conventional Files versus the Database Files versus Database File a collection of similar records. Files are unrelated to each other except in the code of an application program. Data storage is built
Overview of Database Management Systems
Overview of Database Management Systems Goals: DBMS basic concepts Introduce underlying managerial issues Prepare for discussion of uses of DBMS, such as OLAP and database mining 1 Overview of Database
Introduction: Database management system
Introduction Databases vs. files Basic concepts Brief history of databases Architectures & languages Introduction: Database management system User / Programmer Database System Application program Software
Data Modeling for Big Data
Data Modeling for Big Data by Jinbao Zhu, Principal Software Engineer, and Allen Wang, Manager, Software Engineering, CA Technologies In the Internet era, the volume of data we deal with has grown to terabytes
Introduction to Database Systems. Chapter 1 Introduction. Chapter 1 Introduction
Introduction to Database Systems Winter term 2013/2014 Melanie Herschel [email protected] Université Paris Sud, LRI 1 Chapter 1 Introduction After completing this chapter, you should be able to:
Chapter 9 Java and SQL. Wang Yang [email protected]
Chapter 9 Java and SQL Wang Yang [email protected] Outline Concern Data - File & IO vs. Database &SQL Database & SQL How Connect Java to SQL - Java Model for Database Java Database Connectivity (JDBC)
Using SQL Server Management Studio
Using SQL Server Management Studio Microsoft SQL Server Management Studio 2005 is a graphical tool for database designer or programmer. With SQL Server Management Studio 2005 you can: Create databases
SQL Server An Overview
SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system
Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344
Where We Are Introduction to Data Management CSE 344 Lecture 25: DBMS-as-a-service and NoSQL We learned quite a bit about data management see course calendar Three topics left: DBMS-as-a-service and NoSQL
Databases in Organizations
The following is an excerpt from a draft chapter of a new enterprise architecture text book that is currently under development entitled Enterprise Architecture: Principles and Practice by Brian Cameron
Database Design Standards. U.S. Small Business Administration Office of the Chief Information Officer Office of Information Systems Support
Database Design Standards U.S. Small Business Administration Office of the Chief Information Officer Office of Information Systems Support TABLE OF CONTENTS CHAPTER PAGE NO 1. Standards and Conventions
Chapter 14: Databases and Database Management Systems
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 14: Databases and Database Management Systems Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning Objectives
Outline. Failure Types
Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 11 1 2 Conclusion Acknowledgements: The slides are provided by Nikolaus Augsten
Files. Files. Files. Files. Files. File Organisation. What s it all about? What s in a file?
Files What s it all about? Information being stored about anything important to the business/individual keeping the files. The simple concepts used in the operation of manual files are often a good guide
Data Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches
Concepts of Database Management Seventh Edition Chapter 9 Database Management Approaches Objectives Describe distributed database management systems (DDBMSs) Discuss client/server systems Examine the ways
Optimum Database Design: Using Normal Forms and Ensuring Data Integrity. by Patrick Crever, Relational Database Programmer, Synergex
Optimum Database Design: Using Normal Forms and Ensuring Data Integrity by Patrick Crever, Relational Database Programmer, Synergex Printed: April 2007 The information contained in this document is subject
Lecture 6 Cloud Application Development, using Google App Engine as an example
Lecture 6 Cloud Application Development, using Google App Engine as an example 922EU3870 Cloud Computing and Mobile Platforms, Autumn 2009 (2009/10/19) http://code.google.com/appengine/ Ping Yeh ( 葉 平
SQL Server. SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases
SQL Server SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases SQL Server 100 Success Secrets Copyright 2008 Notice of rights All
FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS
FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS V. CHRISTOPHIDES Department of Computer Science & Engineering University of California, San Diego ICS - FORTH, Heraklion, Crete 1 I) INTRODUCTION 2
Cloud Service Model. Selecting a cloud service model. Different cloud service models within the enterprise
Cloud Service Model Selecting a cloud service model Different cloud service models within the enterprise Single cloud provider AWS for IaaS Azure for PaaS Force fit all solutions into the cloud service
Fact Sheet In-Memory Analysis
Fact Sheet In-Memory Analysis 1 Copyright Yellowfin International 2010 Contents In Memory Overview...3 Benefits...3 Agile development & rapid delivery...3 Data types supported by the In-Memory Database...4
Transaction Management Overview
Transaction Management Overview Chapter 16 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transactions Concurrent execution of user programs is essential for good DBMS performance. Because
Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.
& & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows
StreamServe Persuasion SP5 Microsoft SQL Server
StreamServe Persuasion SP5 Microsoft SQL Server Database Guidelines Rev A StreamServe Persuasion SP5 Microsoft SQL Server Database Guidelines Rev A 2001-2011 STREAMSERVE, INC. ALL RIGHTS RESERVED United
Database Modelling in UML
Database Modelling in UML By Geoffrey Sparks, [email protected] : http://www.sparxsystems.com.au Originally published in Methods & Tools e-newsletter : http://www.martinig.ch/mt/index.html Introduction
