Concise Guide to Databases: A Practical Introduction (Undergraduate Topics in Computer Science)
Format: PDF / Kindle (mobi) / ePub
This easy-to-read textbook/reference presents a comprehensive introduction to databases, opening with a concise history of databases and of data as an organisational asset. As relational database management systems are no longer the only database solution, the book takes a wider view of database technology, encompassing big data, NoSQL, object and object-relational and in-memory databases. The text also examines the issues of scalability, availability, performance and security encountered when building and running a database in the real world. Topics and features: presents review and discussion questions at the end of each chapter, in addition to skill-building, hands-on exercises; introduces the fundamental concepts and technologies in database systems, placing these in an historic context; describes the challenges faced by database professionals; reviews the use of a variety of database types in business environments; discusses areas for further research within this fast-moving domain.
statistics; We shall now create such a script, run an SQL query twice, then create an index and then run the same query twice again to see what difference it makes to the Execution plan. The query returns employees who have recorded more than 40 hours which was non-fee-paying in the previous 30 days. Save the follow to q6.sql and then run it, after making sure you understand what the script is doing. set timing on set autotrace traceonly set linesize 200 spool test.txt drop index hrs_idx;
and Shutdown 54 3.8 Locking 57 3.9 Moving Data 58 3.10 Import and Export 60 3.10.1 Data Is Important 61 3.11 Distributed Databases 61 3.12 Summary 64 3.13 Review Questions 64 3.14 Group Work Research Activities 64 References 65 Part II Database Types 4 Relational Databases 69 4.1 Origins 69 4.2 Normalisation 70 4.2.1 First Normal Form (1NF) 71 4.3 Second Normal Form (2NF) 72 4.4 Third Normal Form (3NF) 73 4.5 Beyond Third Normal Form 75 4.6 Entity Modelling 76
superclass and the selected subclass, or individual attributes from a specified subclass. Is it not possible to retrieve all data from all subclasses with a simple SQL statement SELECT s.barcode, s.price, s.number_in_stock, TREAT(VALUE (s) AS book_type_objtyp) FROM shop_stock s WHERE VALUE (s) IS OF (ONLY book_type_objtyp) retrieves all the records which have an instance in the book subclass. The barcode, price and quantity in stock along with all the subclass attributes will
pluses and misuses to each approach. The business needs will need to be the driver in the decision making. We are now moving into the grey area between shared nothing and sharding. Indeed, it could be argued that Sharding is the same as Shared Nothing is the same as horizontal scaling (see Fig. 9.7). Fig. 9.7Shared Nothing 9.3.6 Horizontal Scaling Solutions As we have seen, there are various names for the basic idea of splitting your data across two or more databases (often referred to as
data. Let review a simple example: An application starts by looking up information about a client based upon their surname. You have two servers available. Perhaps it may be sensible to have two shards, one with all the names beginning with A to L, and the other M to Z. And whilst the only query asked of the data is about one individual, then this split will reduce the searching that needs to be carried out. But if you were to want to discover all clients who lived in a particular town, this