Data Modeling for Nosql Document-Oriented Databases

Total Page:16

File Type:pdf, Size:1020Kb

Data Modeling for Nosql Document-Oriented Databases Data Modeling for NoSQL Document-Oriented Databases Harley Vera, Wagner Boaventura, Maristela Holanda, Valeria Guimaraes,˜ Fernanda Hondo Department of Computer Science University of Bras´ılia Bras´ılia, Brasil. harleyve,wagnerbf @gmail.com, [email protected], { valeriaguimaraes,} fernandahondo @hotmail.com { } Abstract by the issue of system scalability, a new gener- ation of databases, known as NoSQL, is gaining In database technologies, some of the strength and space in information systems. The new issues increasingly debated are NoSQL databases emerged in the mid-90s, from non-conventional applications, including a database solution that did not provide an SQL NoSQL (Not only SQL) databases, which interface. Later, the term came to represent solu- were initially created in response to tion that promote an alternative to the Relational the needs for better scalability, lower Model, becoming an abbreviation for Not Only latency and higher flexibility in an era SQL. of bigdata and cloud computing. These The purpose, therefore, of NoSQL solutions is non-functional aspects are the main reason not to replace the Relational Model as a whole, for using NoSQL database. However, but only in cases in which there is a need for currently there are no systematic studies scalability and bigdata. In the recent years, a on data modeling for NoSQL databases, variety of NoSQL databases has been developed especially the document-oriented ones. mainly by practitioners looking to fit their specific Therefore, this article proposes a NoSQL requirements regarding scalability performance, data modeling standard in the form of maintenance and feature-set. Subsequently, there ER diagrams, introducing modeling have been various approaches to classify NoSQL techniques that can be used on document- databases, each with different categories and sub- oriented databases. On the other hand categories, such as key-value stores, column- the purpose of this article is not structure oriented and graph databases, oriented-document. the data using the model proposed, but MongoDB (MongoDB, 2015), Neo4j (Partner et it does helping with the visualization of al., 2013), Cassandra (D. Borthakur et al., 2011) data. In addition, to validate the proposed and HBase (F. Chang et al., 2008) are examples model, a study case was implemented of NoSQL databases. This article only applies to using genomic data. NoSQL document-oriented databases, because of the heterogeneous characteristics of each NoSQL 1 Introduction database classification. Huge amounts of data are produced daily. They Nonetheless, data modeling still has an impor- are generated by smart phones, social networks, tant role to play in NoSQL environments. The data banks transactions, machines measured by sensors modeling process (Elmasri and Navathe, 2010) in- are part of Internet of Things provide information volves the creation of a diagram that represents the that is growing exponentially. The management of meaning of the data and the relationship between this data is currently performed in most cases by the data elements. Thus, understanding is a funda- relational databases that provide centralized con- mental aspect of data modeling (R. F. Lans, 2008), trol of data, redundancy control and elimination and a pattern for this kind of representation has of inconsistencies (Elmasri and Navathe, 2010); few contributions for NoSQL databases. but, some of these factors restrict the use of al- Addressing this issue, this article proposes a ternative database models. Consequently, certain standard for NoSQL data modeling. This proposal limiting factors have led to alternative models of uses NoSQL document-oriented databases, aim- databases in these scenarios. Primarily, motivated ing to introduce modeling techniques that can be 129 used on databases with document features. the equivalent for a collection is the record (tu- The remainder of the paper is organized as fol- ple) and for a document it is the relation (table). lows: Section II presents related works. Section Documents can store completely different sets of III explores the concepts of modeling for NoSQL attributes, and can be mapped directly to a file for- databases based on documents, introducing the mat that can be easily manipulated by a program- different types of relationships and associations. ming language. However, it is difficult to abstract Section IV shows the proposal model in the con- the modeling of documents for the entity relation- text of NoSQL databases based on documents. ship model (R. F. Lans, 2008). Section V presents the study case to validate the proposal model. Finally in Section VI, presents 3.1 Modeling Paradigm for the conclusion of the research and future works. document-oriented Database The relational model designed for SQL has some 2 Related Works important features such as integrity, consistency, type validation, transactional guarantees, schemes Katsov (H. Scalable, 2015) presents a study of and referential integrity. However, some applica- techniques and patterns for data modeling using tions do not need all of these features. The elimi- different categories of NoSQL databases. How- nation of these resources has an important influ- ever, the approach is generic and does not define a ence on the performance and scalability of data specific modeling engine to each database. storage, bringing new meaning to data modeling. Arora and Aggarwal (R. Arora and R. Aggar- Document-oriented databases have some signif- wal, 2013) propose a data modeling, but restricted icant improvements, e.g., index management by to MongoDB document database, describing a the database itself, flexible layouts and advanced UML Diagram Class and JSON format to repre- indexed search engines (H. Scalable, 2015). By sent the documents. associating these improvements (some being de- Similarly, Banker (K. Banker, 2011) provides normalization and aggregation) to the basic prin- some ideas of data modeling, but limited to Mon- ciples of data modeling in NoSQL, it is possi- goDB database and always referring to JSON (D. ble to identify some generic modeling standards Crockford, 2006) format as a modeling solution. associated to document-oriented databases. Ana- Kaur and Rani (K. Kaur, K.Rani, 2013) present lyzing the documentation of the main document- a work for modeling and querying data in NoSQL oriented databases, MongoDB (MongoDB, 2015) databases, especifically present a case study for and CouchDB (CouchDB, 2015), similar repre- document-oriented and graph based data model. sentations of data mapping relationships can be In the case of document-oriented propose a found: References and Embedded Documents, data modeling restricted to MongoDB document a structure which allows associating a document database, describing the data model by UML dia- to another, retaining the advantage of specific per- gram class to represent documents. formance needs and data recovery standards. 3 Data Modeling For 3.2 References Relationship Document-Oriented Database This type of relationship stores the data by includ- An important step in database implementation is ing links or references, from one document to an- the data modeling, because it facilitates the un- other. Applications can solve these references to derstanding of the project through key features access the related data in the structure of the doc- that can prevent programming and operation er- ument itself (MongoDB, 2015). Figure 1 shows rors. For relational databases, the data model- two documents one of them for Fastq files and the ing uses the Entity-Relationship Model (Elmasri other to Activities. and Navathe, 2010). For NoSQL, it depends on the database category. The focus of this article is 3.3 Embedded Documents NoSQL document-oriented databases, where the This type of relationship stores in a single doc- data format of these documents can be JSON, ument structure, where the embedded documents BSON, or XML (S. J. Pramod, 2012). are disposed in a field or an array. These denor- Basically, the documents are stored in collec- malized data models allow data manipulation in tions. A parallel is made with relational databases, a single database transaction (MongoDB, 2015). 130 ceptual representation modeling type, such as: Ensuring a single way of modeling for • the several NoSQL document-oriented databases. Simplifying and facilitating the understand- • ing of a document-oriented database through Figure 1: Example of documents referenced its conceptual model, leveraging the abstrac- tion and making the correct decisions about Figure 2 shows a document of a genome Project the data storage. with a Activity embedded document. Providing an accurate, unambiguous and • concise pattern, so that database administra- tors have substantial gains in abstraction, un- derstanding. Presenting different types of relationships be- • tween collections defined as References and Embedded documents. Assisting the recognition and arrangement of • the objects, as well as its features and rela- Figure 2: Example of Embedded documents tionships with other objects. The following subsections present the concepts 4 Proposal For Document-Oriented and graphing to build a conceptual model for Databases Viewing NoSQL document-oriented databases. Unlike traditional relational databases that have 4.1 Assumptions a simple form in the disposition in rows and columns, a document-oriented database stores in- Before starting the discussion about the approach formation in text format, which consists of collec- of each type of the conceptual modeling repre-
Recommended publications
  • Not ACID, Not BASE, but SALT a Transaction Processing Perspective on Blockchains
    Not ACID, not BASE, but SALT A Transaction Processing Perspective on Blockchains Stefan Tai, Jacob Eberhardt and Markus Klems Information Systems Engineering, Technische Universitat¨ Berlin fst, je, [email protected] Keywords: SALT, blockchain, decentralized, ACID, BASE, transaction processing Abstract: Traditional ACID transactions, typically supported by relational database management systems, emphasize database consistency. BASE provides a model that trades some consistency for availability, and is typically favored by cloud systems and NoSQL data stores. With the increasing popularity of blockchain technology, another alternative to both ACID and BASE is introduced: SALT. In this keynote paper, we present SALT as a model to explain blockchains and their use in application architecture. We take both, a transaction and a transaction processing systems perspective on the SALT model. From a transactions perspective, SALT is about Sequential, Agreed-on, Ledgered, and Tamper-resistant transaction processing. From a systems perspec- tive, SALT is about decentralized transaction processing systems being Symmetric, Admin-free, Ledgered and Time-consensual. We discuss the importance of these dual perspectives, both, when comparing SALT with ACID and BASE, and when engineering blockchain-based applications. We expect the next-generation of decentralized transactional applications to leverage combinations of all three transaction models. 1 INTRODUCTION against. Using the admittedly contrived acronym of SALT, we characterize blockchain-based transactions There is a common belief that blockchains have the – from a transactions perspective – as Sequential, potential to fundamentally disrupt entire industries. Agreed, Ledgered, and Tamper-resistant, and – from Whether we are talking about financial services, the a systems perspective – as Symmetric, Admin-free, sharing economy, the Internet of Things, or future en- Ledgered, and Time-consensual.
    [Show full text]
  • MDA Process to Extract the Data Model from a Document-Oriented Nosql Database Amal Ait Brahim, Rabah Tighilt Ferhat, Gilles Zurfluh
    MDA process to extract the data model from a document-oriented NoSQL database Amal Ait Brahim, Rabah Tighilt Ferhat, Gilles Zurfluh To cite this version: Amal Ait Brahim, Rabah Tighilt Ferhat, Gilles Zurfluh. MDA process to extract the data model from a document-oriented NoSQL database. ICEIS 2019: 21st International Conference on Enterprise Information Systems, May 2019, Heraklion, Greece. pp.141-148, 10.5220/0007676201410148. hal- 02886696 HAL Id: hal-02886696 https://hal.archives-ouvertes.fr/hal-02886696 Submitted on 1 Jul 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Open Archive Toulouse Archive Ouverte OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible This is an author’s version published in: https://oatao.univ-toulouse.fr/26232 Official URL : https://doi.org/10.5220/0007676201410148 To cite this version: Ait Brahim, Amal and Tighilt Ferhat, Rabah and Zurfluh, Gilles MDA process to extract the data model from a document-oriented NoSQL database. (2019) In: ICEIS 2019: 21st International Conference on Enterprise Information Systems, 3 May 2019 - 5 May 2019 (Heraklion, Greece).
    [Show full text]
  • MDA Process to Extract the Data Model from Document-Oriented Nosql Database
    MDA Process to Extract the Data Model from Document-oriented NoSQL Database Amal Ait Brahim, Rabah Tighilt Ferhat and Gilles Zurfluh Toulouse Institute of Computer Science Research (IRIT), Toulouse Capitole University, Toulouse, France Keywords: Big Data, NoSQL, Model Extraction, Schema Less, MDA, QVT. Abstract: In recent years, the need to use NoSQL systems to store and exploit big data has been steadily increasing. Most of these systems are characterized by the property "schema less" which means absence of the data model when creating a database. This property brings an undeniable flexibility by allowing the evolution of the model during the exploitation of the base. However, query expression requires a precise knowledge of the data model. In this article, we propose a process to automatically extract the physical model from a document- oriented NoSQL database. To do this, we use the Model Driven Architecture (MDA) that provides a formal framework for automatic model transformation. From a NoSQL database, we propose formal transformation rules with QVT to generate the physical model. An experimentation of the extraction process was performed on the case of a medical application. 1 INTRODUCTION however that it is absent in some systems such as Cassandra and Riak TS. The "schema less" property Recently, there has been an explosion of data offers undeniable flexibility by allowing the model to generated and accumulated by more and more evolve easily. For example, the addition of new numerous and diversified computing devices. attributes in an existing line is done without Databases thus constituted are designated by the modifying the other lines of the same type previously expression "Big Data" and are characterized by the stored; something that is not possible with relational so-called "3V" rule (Chen, 2014).
    [Show full text]
  • What Is Nosql? the Only Thing That All Nosql Solutions Providers Generally Agree on Is That the Term “Nosql” Isn’T Perfect, but It Is Catchy
    NoSQL GREG SYSADMINBURD Greg Burd is a Developer Choosing between databases used to boil down to examining the differences Advocate for Basho between the available commercial and open source relational databases . The term Technologies, makers of Riak. “database” had become synonymous with SQL, and for a while not much else came Before Basho, Greg spent close to being a viable solution for data storage . But recently there has been a shift nearly ten years as the product manager for in the database landscape . When considering options for data storage, there is a Berkeley DB at Sleepycat Software and then new game in town: NoSQL databases . In this article I’ll introduce this new cat- at Oracle. Previously, Greg worked for NeXT egory of databases, examine where they came from and what they are good for, and Computer, Sun Microsystems, and KnowNow. help you understand whether you, too, should be considering a NoSQL solution in Greg has long been an avid supporter of open place of, or in addition to, your RDBMS database . source software. [email protected] What Is NoSQL? The only thing that all NoSQL solutions providers generally agree on is that the term “NoSQL” isn’t perfect, but it is catchy . Most agree that the “no” stands for “not only”—an admission that the goal is not to reject SQL but, rather, to compensate for the technical limitations shared by the majority of relational database implemen- tations . In fact, NoSQL is more a rejection of a particular software and hardware architecture for databases than of any single technology, language, or product .
    [Show full text]
  • Drawing-A-Database-Schema.Pdf
    Drawing A Database Schema Padraig roll-out her osteotome pluckily, trillion and unacquainted. Astronomic Dominic haemorrhage operosely. Dilative Parrnell jury-rigging: he bucketing his sympatholytics tonishly and litho. Publish your schema. And database user schema of databases in berlin for your drawing created in a diagram is an er diagram? And you know some they say, before what already know. You can generate the DDL and modify their hand for SQLite, although to it ugly. How can should improve? This can work online, a record is crucial to reduce faults in. The mouse pointer should trace to an icon with three squares. Visual Database Creation with MySQL Workbench Code. In database but a schema pronounced skee-muh or skee-mah is the organisation and structure of a syringe Both schemas and. Further more complex application performance, concept was that will inform your databases to draw more control versions. Typically goes in a schema from any sql for these terms of maintenance of the need to do you can. Or database schemas you draw data models commonly used to select all databases by drawing page helpful is in a good as methods? It is far to bath to target what suits you best. Gallery of training courses. Schema for database schema for. Help and Training on mature site? You can jump of ER diagrams as a simplified form let the class diagram and carpet may be easier for create database design team members to. This token will be enrolled in quickly create drawings by enabled the left side of the process without realising it? Understanding a Schema in Psychology Verywell Mind.
    [Show full text]
  • Nosql Database Technology
    NoSQL Database Technology Post-relational data management for interactive software systems NOSQL DATABASE TECHNOLOGY Table of Contents Summary 3 Interactive software has changed 4 Users – 4 Applications – 5 Infrastructure – 5 Application architecture has changed 6 Database architecture has not kept pace 7 Tactics to extend the useful scope of RDBMS technology 8 Sharding – 8 Denormalizing – 9 Distributed caching – 10 “NoSQL” database technologies 11 Mobile application data synchronization 13 Open source and commercial NoSQL database technologies 14 2 © 2011 COUCHBASE ALL RIGHTS RESERVED. WWW.COUCHBASE.COM NOSQL DATABASE TECHNOLOGY Summary Interactive software (software with which a person iteratively interacts in real time) has changed in fundamental ways over the last 35 years. The “online” systems of the 1970s have, through a series of intermediate transformations, evolved into today’s web and mobile appli- cations. These systems solve new problems for potentially vastly larger user populations, and they execute atop a computing infrastructure that has changed even more radically over the years. The architecture of these software systems has likewise transformed. A modern web ap- plication can support millions of concurrent users by spreading load across a collection of application servers behind a load balancer. Changes in application behavior can be rolled out incrementally without requiring application downtime by gradually replacing the software on individual servers. Adjustments to application capacity are easily made by changing the number of application servers. But database technology has not kept pace. Relational database technology, invented in the 1970s and still in widespread use today, was optimized for the applications, users and inf- rastructure of that era.
    [Show full text]
  • SQL Vs Nosql: a Performance Comparison
    SQL vs NoSQL: A Performance Comparison Ruihan Wang Zongyan Yang University of Rochester University of Rochester [email protected] [email protected] Abstract 2. ACID Properties and CAP Theorem We always hear some statements like ‘SQL is outdated’, 2.1. ACID Properties ‘This is the world of NoSQL’, ‘SQL is still used a lot by We need to refer the ACID properties[12]: most of companies.’ Which one is accurate? Has NoSQL completely replace SQL? Or is NoSQL just a hype? SQL Atomicity (Structured Query Language) is a standard query language A transaction is an atomic unit of processing; it should for relational database management system. The most popu- either be performed in its entirety or not performed at lar types of RDBMS(Relational Database Management Sys- all. tems) like Oracle, MySQL, SQL Server, uses SQL as their Consistency preservation standard database query language.[3] NoSQL means Not A transaction should be consistency preserving, meaning Only SQL, which is a collection of non-relational data stor- that if it is completely executed from beginning to end age systems. The important character of NoSQL is that it re- without interference from other transactions, it should laxes one or more of the ACID properties for a better perfor- take the database from one consistent state to another. mance in desired fields. Some of the NOSQL databases most Isolation companies using are Cassandra, CouchDB, Hadoop Hbase, A transaction should appear as though it is being exe- MongoDB. In this paper, we’ll outline the general differences cuted in iso- lation from other transactions, even though between the SQL and NoSQL, discuss if Relational Database many transactions are execut- ing concurrently.
    [Show full text]
  • IBM Cloudant: Database As a Service Fundamentals
    Front cover IBM Cloudant: Database as a Service Fundamentals Understand the basics of NoSQL document data stores Access and work with the Cloudant API Work programmatically with Cloudant data Christopher Bienko Marina Greenstein Stephen E Holt Richard T Phillips ibm.com/redbooks Redpaper Contents Notices . 5 Trademarks . 6 Preface . 7 Authors. 7 Now you can become a published author, too! . 8 Comments welcome. 8 Stay connected to IBM Redbooks . 9 Chapter 1. Survey of the database landscape . 1 1.1 The fundamentals and evolution of relational databases . 2 1.1.1 The relational model . 2 1.1.2 The CAP Theorem . 4 1.2 The NoSQL paradigm . 5 1.2.1 ACID versus BASE systems . 7 1.2.2 What is NoSQL? . 8 1.2.3 NoSQL database landscape . 9 1.2.4 JSON and schema-less model . 11 Chapter 2. Build more, grow more, and sleep more with IBM Cloudant . 13 2.1 Business value . 15 2.2 Solution overview . 16 2.3 Solution architecture . 18 2.4 Usage scenarios . 20 2.5 Intuitively interact with data using Cloudant Dashboard . 21 2.5.1 Editing JSON documents using Cloudant Dashboard . 22 2.5.2 Configuring access permissions and replication jobs within Cloudant Dashboard. 24 2.6 A continuum of services working together on cloud . 25 2.6.1 Provisioning an analytics warehouse with IBM dashDB . 26 2.6.2 Data refinement services on-premises. 30 2.6.3 Data refinement services on the cloud. 30 2.6.4 Hybrid clouds: Data refinement across on/off–premises. 31 Chapter 3.
    [Show full text]
  • Top 5 Considerations When Evaluating Nosql Databases February 2015 Table of Contents
    A MongoDB White Paper Top 5 Considerations When Evaluating NoSQL Databases February 2015 Table of Contents Introduction 1 Data Model 2 Document Model 2 Graph Model 2 Key-Value and Wide Column Models 2 Query Model 3 Document Database 3 Graph Database 3 Key Value and Wide Column Databases 3 Consistency Model 4 Consistent Systems 4 Eventually Consistent Systems 4 APIs 4 Idiomatic Drivers 5 Thrift or RESTful APIs 5 Pluggable Storage API 5 Commercial Support and Community Strength 5 Commercial Support 5 Community Strength 5 Conclusion 6 We Can Help 6 Introduction Relational databases have a long-standing position in most Development teams have a strong say in the technology organizations, and for good reason. Relational databases selection process. This community tends to find that the underpin legacy applications that meet current business relational data model is not well aligned with the needs of needs; they are supported by an extensive ecosystem of their applications. Consider: tools; and there is a large pool of labor qualified to • Developers are working with new data types — implement and maintain these systems. structured, semi-structured, unstructured and But companies are increasingly considering alternatives to polymorphic data — and massive volumes of it. legacy relational infrastructure. In some cases the • Long gone is the twelve-to-eighteen month waterfall motivation is technical — such as a need to scale or development cycle. Now small teams work in agile perform beyond the capabilities of their existing systems — sprints, iterating quickly and pushing code every week while in other cases companies are driven by the desire to or two, even every day.
    [Show full text]
  • Database Models
    Enterprise Architect User Guide Series Database Models The Sparx Systems Enterprise Architect Database Builder helps visualize, analyze and design system data at conceptual, logical and physical levels, generate database objects from a model using customizable Transformations, and reverse engineer a DBMS. Author: Sparx Systems Date: 16/01/2019 Version: 1.0 CREATED WITH Table of Contents Database Models 4 Data Modeling Overview 5 Conceptual Data Model 7 Logical Data Model 8 Entity Relationship Diagrams (ERDs) 9 Physical Data Models 13 Database Modeling 15 Create a Data Model from a Model Pattern 16 Create a Data Model Diagram 18 Example Data Model Diagram 20 The Database Builder 22 Opening the Database Builder 24 Working in the Database Builder 26 Columns 30 Create Database Table Columns 31 Delete Database Table Columns 33 Reorder Database Table Columns 34 Constraints/Indexes 35 Database Table Constraints/Indexes 36 Primary Keys 39 Database Indexes 42 Unique Constraints 45 Foreign Keys 46 Check Constraints 50 Table Triggers 52 SQL Scratch Pad 54 Database Compare 56 Execute DDL 62 Database Objects 65 Database Tables 66 Create a Database Table 68 Database Table Columns 70 Create Database Table Columns 71 Delete Database Table Columns 73 Reorder Database Table Columns 74 Working with Database Table Properties 75 Set the Database Type 76 Set Database Table Owner/Schema 77 Set MySQL Options 78 Set Oracle Database Table Properties 79 Database Table Constraints/Indexes 80 Primary Keys 83 Non Clustered Primary Keys 86 Database Indexes 87 Unique
    [Show full text]
  • Examples of Relational Database Model
    Examples Of Relational Database Model Discerning Ajai never dally so hardheadedly or die-cast any macaronics warily. Flutiest Noble necessitating: he syllabicating his magnificoes inexplicably and deprecatorily. Taliped Ram zeroes, his decerebration revving strangle verbally. Several products exist to support such databases. Simply click the image would make changes online. Note that a constraint implies an index on the same label and property. So why should we use a database? Gain new system that data typing sql programs operate, documents can write business logic in relational database examples of organization might like i have all elements which is. In sql and domains like spreadsheet, difference and gathering data? DRDA enables network connected relational databases to cooperate to fulfill SQL requests. So what is our use case? And because these databases are expensive, you tend to put everything in there. Individual tables to? It will take us a couple of weeks going over these skills and concepts. When there is a one to one relationship, one of two actions typically occur. In database examples of relational model was one. Graph models and graph queries are two sides of pain same coin. Some research data stores replicate a given blob across multiple server nodes, which enables fast parallel reads. Why relational structure of relational schema? Each model database model? But what if item prices were negotiated on each order or there were special promotions? Other data on database relational databases went from. The domain is better user not relational model support multiple bills in other. There is called relation which columns? In english as a model developed procedures for example, music collection of models are generic visual basic skill every tuple, it natural join.
    [Show full text]
  • Relational Database Fundamentals
    05_04652x ch01.qxp 7/10/06 1:45 PM Page 7 Chapter 1 Relational Database Fundamentals In This Chapter ᮣ Organizing information ᮣ Defining database ᮣ Defining DBMS ᮣ Comparing database models ᮣ Defining relational database ᮣ Considering the challenges of database design QL (pronounced ess-que-ell, not see’qwl) is an industry-standard language Sspecifically designed to enable people to create databases, add new data to databases, maintain the data, and retrieve selected parts of the data. Various kinds of databases exist, each adhering to a different conceptual model. SQL was originally developed to operate on data in databases that follow the relational model. Recently, the international SQL standard has incorporated part of the object model, resulting in hybrid structures called object-relational databases. In this chapter, I discuss data storage, devote a section to how the relational model compares with other major models, and provide a look at the important features of relational databases. Before I talk about SQL, however, I need to nail down what I mean by the term database. Its meaning has changed as computers have changed the way people record and maintain information. COPYRIGHTED MATERIAL Keeping Track of Things Today, people use computers to perform many tasks formerly done with other tools. Computers have replaced typewriters for creating and modifying documents. They’ve surpassed electromechanical calculators as the best way to do math. They’ve also replaced millions of pieces of paper, file folders, and file cabinets as the principal storage medium for important information. Compared to those old tools, of course, computers do much more, much faster — and with greater accuracy.
    [Show full text]