An Introduction to Relational Database Management System

Total Page:16

File Type:pdf, Size:1020Kb

An Introduction to Relational Database Management System An introduction to relational database management system Fabrice Rossi CEREMADE Université Paris Dauphine 2021 Database Management Systems Database (DB) An organized collection of data Database Management System (DBMS) A software used to manage databases, namely I creating a database I maintaining a database I interacting with a database 2 Advantages of DBMS I meta data management I integrity constraints I security (access control) I concurrency control I etc. DBMS versus Files File-Based data management I data in CSV files (or other format) I management with e.g. Python + Pandas (or R + tidyverse) 3 DBMS versus Files File-Based data management I data in CSV files (or other format) I management with e.g. Python + Pandas (or R + tidyverse) Advantages of DBMS I meta data management I integrity constraints I security (access control) I concurrency control I etc. 3 DBMS components DBMS architecture I storage manager I handles saving data and meta data on the storage system I manages part of the concurrency aspects I query processor I core part of the DBMS I handles computation on the database (e.g. search, insertion, deletion, modification, aggregation) I optimize queries for efficiency I high level tools I meta data management I connection and security manager 4 DBMS components DBMS languages I data definition language (DDL) I used to specify a data model I data types I links between data I meta data management I data manipulation language (DML) I used to query a database I specifies computation on a database 5 Types of DBMS Data model categorization I old approaches: hierarchical DBMS and network DBMS I current standard: relational DBMS I based on a relational data model I typical based on SQL (Structured Query Language, sequel) I niche approach: object-oriented DBMS I large scale or unstructured data: NoSQL I not-only SQL (or more specifically not relational) I document stores I graph oriented databases I column oriented databases 6 What’s missing? I A lot! I DBMS are a very rich and complex subject I numerous theoretical aspects I getting under the hood is yet another subject I practical aspects are also very complex In this course An introduction to Relational DBMS 7 In this course An introduction to Relational DBMS What’s missing? I A lot! I DBMS are a very rich and complex subject I numerous theoretical aspects I getting under the hood is yet another subject I practical aspects are also very complex 7 Outline Introduction Conceptual Data Modeling The Relational Model SQL 8 Outline Introduction Conceptual Data Modeling The Relational Model SQL 9 Data Management Specifying the data I ideally the first step of a data oriented project I important questions I what are the objects under study? I how are they described? I how are they related? Two steps process 1. conceptual/formal model 2. implementation in a meta data oriented language 10 Entity Relationship Model Proposed by Peter Chen in 1976 Concepts I Entity: uniquely identified object under study (e.g. a person) I Relationship: a way to relate entities (e.g. a has access to b) I Attribute: a property of an entity or of a relationship. An attribute has a domain (the set of values it can take) I an ER model describes types, e.g. entity type, not values 11 Example Loan application data set I https://relational.fit.cvut.cz/dataset/Financial I 8 tables including I client table I account table I credit card table I loan table I etc. 12 key attribute Example (part of the) Client table ER model client_id gender birth_date I entity type: client 1 F 1970-12-13 2 M 1945-02-04 I attributes 3 F 1940-10-09 4 M 1956-12-01 I gender with domain F and 5 F 1960-07-03 M I birth_date with a date domain I client_id 13 key attribute Example (part of the) Client table ER model client_id gender birth_date I entity type: client 1 F 1970-12-13 2 M 1945-02-04 I attributes 3 F 1940-10-09 4 M 1956-12-01 I gender with domain F and 5 F 1960-07-03 M I birth_date with a date domain I client_id Client gender birth_date client_id 13 Example (part of the) Client table ER model client_id gender birth_date I entity type: client 1 F 1970-12-13 2 M 1945-02-04 I attributes 3 F 1940-10-09 4 M 1956-12-01 I gender with domain F and 5 F 1960-07-03 M I birth_date with a date domain I client_id key attribute Client gender birth_date client_id 13 Graphical representation Entity type Entity types are represented by rectangles link to attributes Attribute type I an ellipse per type I derived attribute type I key attribute type I can be computed from I a unique identifier of the another one (e.g. age corresponding entity from birth date) I underlined in the I dashed border representation I multi-valued attribute type I composite attribute type I several values are I can be decomposed into authorized sub-attributes I double border I linked ellipses 14 Example Last name First name email name Person gender birth_date age client_id 15 Typical domains Numerical Textual I integers I words I decimal numbers I codes (such as post codes) I possible constraints: positive I structured strings (e.g. numbers, number of emails) significant digits, etc. Others Temporal I truth values (boolean) I dates I binary content (such as I times images) 16 Relationship Principle I a relationship represents an association between at least two entities I it can have attributes I it is characterized by cardinalities I minimum and maximum number of relationships to which a given entity can participate I asymmetric I a relationship type is graphically represented by a rhombus 17 Example Loan application data set I client entities and account entities I relationships I a client can be the owner of an account I a client can be allowed to use an account I cardinalities I owner: I each account has exactly one owner I each client can own at most one account (in this database) I user: I each account may have some users I each client can be the user of some accounts 18 Example Owns 0-1 1-1 client_id Client Account account_id 0-n 0-m Uses 19 Outline Introduction Conceptual Data Modeling The Relational Model SQL 20 Relational Model History I invented by Edgar F. Codd in 1969-1970 I based on a mathematical model, the relational algebra I associated relational calculus Main concepts I a domain: a set Qn I a relation: a (finite) subset of i=1(Di [ fNULLg) where each Di is a domain and NULL a special value (for missing values) I a tuple: an element of a relation I a database: a collection of relations 21 Examples Clients Accounts I Domains: I Domains: + + I N : positive integers I N : positive integers I G = fF; Mg: genders I D: dates I D: dates I An account relation: + + I A client relation: I a subset of N × N × D + I a subset of N × G × D I a set of tuples such as I a set of tuples such as (1; 8; 1995−03−24) (1; F; 1970−12−13) 22 Relation type/variable Specifying relations I somewhat imprecise vocabulary Qn I a relation (value) r 2 i=1(Di [ fNULLg) I a relation type/variable (relvar) I a named specification of the relation I domains and names: column types Notation I a relation type/variable is denoted R(A1;:::; An): I R: name of the relation type I Ak : column type names I e.g. client(client_id, gender, birth_date) I and account(account_id, district_id, date) 23 ER and relational model Correspondence I Entity type: relation type/variable, relvar I Entity: tuple I Attribute type: column type (frequently called attribute type) I Attribute: value in a tuple More about ER ! relational later 24 Keys Superkeys and keys I a relation is a set ) each tuple is unique I a superkey I any subset of the attribute types such that no tuples of the relation share exactly the same values for these attribute types I default superkey: all the attribute types! I a key: a minimal superkey (removing attribute types removes it superkey status) France data set I departement(region_id,departement_id,name) I superkeys I (region_id,departement_id,name) I (departement_id,name) I (departement_id): a key! I (name): another key! 25 Primary and foreign keys Primary key I several keys: candidate keys I one of the is the primary key I other are alternative keys Foreign keys I a set of attribute types FK in a relation type R1 is a foreign key of R1 if 1. a candidate key in a relation R2 has exactly the same domains as the ones of the attribute types in FK 2. values on FK in a tuple in r1 are either NULL or occur in a tuple in r2 I in simple terms: a foreign key links R1 to R2 26 Example Relvar I client(client_id, gender, birth_date) I account(account_id, district_id, date) I disp(disp_id, client_id, account_id, type) with type2 fOWNER; DISPONENT g Many keys I bold and underlined: primary keys I underlined: foreign keys I district_id is also a foreign key but for another relation I in this database, the relation between a client and an account is unique and thus (client_id, account_id) is candidate key 27 Integrity Constraints Relational constraints When implemented the relational model must enforce some constraints I Domain integrity: the values in a tuple are unique values from the associated domain or NULL (if allowed, i.e.
Recommended publications
  • 9. SQL FUNDAMENTALS What Is SQL?
    ROHINI COLLEGE OF ENGINEERING & TECHNOLOGY 9. SQL FUNDAMENTALS What is SQL? • SQL stands for Structured Query Language • SQL allows you to access a database • SQL is an ANSI standard computer language • SQL can execute queries against a database • SQL can retrieve data from a database • SQL can insert new records in a database • SQL can delete records from a database • SQL can update records in a database • SQL is easy to learn SQL is an ANSI (American National Standards Institute) standard computer language for accessing and manipulating database systems. SQL statements are used to retrieve and update data in a database. • SQL works with database programs like MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase, etc. There are many different versions of the SQL language, but to be in compliance with the ANSI standard, they must support the same major keywords in a similar manner (such as SELECT, UPDATE, DELETE, INSERT, WHERE, and others). SQL Database Tables • A database most often contains one or more tables. Each table is identified by a name (e.g. "Customers" or "Orders"). Tables contain records (rows) with data. Below is an example of a table called "Persons": CS8492-DATABASE MANAGEMENT SYSTEMS ROHINI COLLEGE OF ENGINEERING & TECHNOLOGY SQL Language types: Structured Query Language(SQL) as we all know is the database language by the use of which we can perform certain operations on the existing database and also we can use this language to create a database. SQL uses certain commands like Create, Drop, Insert, etc. to carry out the required tasks. These SQL commands are mainly categorized into four categories as: 1.
    [Show full text]
  • Data Definition Language
    1 Structured Query Language SQL, or Structured Query Language is the most popular declarative language used to work with Relational Databases. Originally developed at IBM, it has been subsequently standard- ized by various standards bodies (ANSI, ISO), and extended by various corporations adding their own features (T-SQL, PL/SQL, etc.). There are two primary parts to SQL: The DDL and DML (& DCL). 2 DDL - Data Definition Language DDL is a standard subset of SQL that is used to define tables (database structure), and other metadata related things. The few basic commands include: CREATE DATABASE, CREATE TABLE, DROP TABLE, and ALTER TABLE. There are many other statements, but those are the ones most commonly used. 2.1 CREATE DATABASE Many database servers allow for the presence of many databases1. In order to create a database, a relatively standard command ‘CREATE DATABASE’ is used. The general format of the command is: CREATE DATABASE <database-name> ; The name can be pretty much anything; usually it shouldn’t have spaces (or those spaces have to be properly escaped). Some databases allow hyphens, and/or underscores in the name. The name is usually limited in size (some databases limit the name to 8 characters, others to 32—in other words, it depends on what database you use). 2.2 DROP DATABASE Just like there is a ‘create database’ there is also a ‘drop database’, which simply removes the database. Note that it doesn’t ask you for confirmation, and once you remove a database, it is gone forever2. DROP DATABASE <database-name> ; 2.3 CREATE TABLE Probably the most common DDL statement is ‘CREATE TABLE’.
    [Show full text]
  • Uniform Data Access Platform for SQL and Nosql Database Systems
    Information Systems 69 (2017) 93–105 Contents lists available at ScienceDirect Information Systems journal homepage: www.elsevier.com/locate/is Uniform data access platform for SQL and NoSQL database systems ∗ Ágnes Vathy-Fogarassy , Tamás Hugyák University of Pannonia, Department of Computer Science and Systems Technology, P.O.Box 158, Veszprém, H-8201 Hungary a r t i c l e i n f o a b s t r a c t Article history: Integration of data stored in heterogeneous database systems is a very challenging task and it may hide Received 8 August 2016 several difficulties. As NoSQL databases are growing in popularity, integration of different NoSQL systems Revised 1 March 2017 and interoperability of NoSQL systems with SQL databases become an increasingly important issue. In Accepted 18 April 2017 this paper, we propose a novel data integration methodology to query data individually from different Available online 4 May 2017 relational and NoSQL database systems. The suggested solution does not support joins and aggregates Keywords: across data sources; it only collects data from different separated database management systems accord- Uniform data access ing to the filtering options and migrates them. The proposed method is based on a metamodel approach Relational database management systems and it covers the structural, semantic and syntactic heterogeneities of source systems. To introduce the NoSQL database management systems applicability of the proposed methodology, we developed a web-based application, which convincingly MongoDB confirms the usefulness of the novel method. Data integration JSON ©2017 Elsevier Ltd. All rights reserved. 1. Introduction solution to retrieve data from heterogeneous source systems and to deliver them to the user.
    [Show full text]
  • IEEE Paper Template in A4 (V1)
    International Journal of Electrical Electronics & Computer Science Engineering Special Issue - NCSCT-2018 | E-ISSN : 2348-2273 | P-ISSN : 2454-1222 March, 2018 | Available Online at www.ijeecse.com Structural and Non-Structural Query Language Vinayak Sharma1, Saurav Kumar Jha2, Shaurya Ranjan3 CSE Department, Poornima Institute of Engineering and Technology, Jaipur, Rajasthan, India [email protected], [email protected], [email protected] Abstract: The Database system is rapidly increasing and it The most important categories are play an important role in all commercial-scientific software. In the current scenario every field work is related to DDL (Data Definition Language) computer they store their data in the database. Using DML (Data Manipulation Language) database helps to maintain the large records. This paper aims to summarize the different database and their usage in DQL (Data Query Language) IT field. In company database is more appropriate or more 1. Data Definition Language: Data Definition suitable to store the data. Language, DDL, is the subset of SQL that are used by a Keywords: DBS, Database Management Systems-DBMS, database user to create and built the database objects, Database-DB, Programming Language, Object-Oriented examples are deletion or the creation of a table. Some of System. the most Properties of DDL commands discussed I. INTRODUCTION below: CREATE TABLE The database system is used to develop the commercial- scientific application with database. The application DROP INDEX requires set of element for collection transmission, ALTER INDEX storage and processing of data with computer. Database CREATE VIEW system allow the database develop application. This ALTER TABLE paper deal with the features of Nosql and need of Nosql in the market.
    [Show full text]
  • Introduction to Database
    ST. LAWRENCE HIGH SCHOOL A Jesuit Christian Minority Institution STUDY MATERIAL - 12 Subject: COMPUTER SCIENCE Class - 12 Chapter: DBMS Date: 01/08/2020 INTRODUCTION TO DATABASE What is Database? The database is a collection of inter-related data which is used to retrieve, insert and delete the data efficiently. It is also used to organize the data in the form of a table, schema, views, and reports, etc. For example: The college Database organizes the data about the admin, staff, students and faculty etc. Using the database, you can easily retrieve, insert, and delete the information. Database Management System Database management system is a software which is used to manage the database. For example: MySQL, Oracle, etc. are a very popular commercial database which is used in different applications. DBMS provides an interface to perform various operations like database creation, storing data in it, updating data, creating a table in the database and a lot more. It provides protection and security to the database. In the case of multiple users, it also maintains data consistency. DBMS allows users the following tasks: Data Definition: It is used for creation, modification, and removal of definition that defines the organization of data in the database. Data Updation: It is used for the insertion, modification, and deletion of the actual data in the database. Data Retrieval: It is used to retrieve the data from the database which can be used by applications for various purposes. User Administration: It is used for registering and monitoring users, maintain data integrity, enforcing data security, dealing with concurrency control, monitoring performance and recovering information corrupted by unexpected failure.
    [Show full text]
  • Grant Permissions on Schema
    Grant Permissions On Schema When Barde rued his hillside carousing not vehemently enough, is Wallie sublimable? External or undulatory, Esme never jargonising any gorgoneion! Contumacious Lowell unzips her osculums so healingly that Radcliffe lessen very revivingly. In some environments, so sunset is exert a rank question. Changes apply to grant permission on database resource limits causes a user granted to prevent object within one future. Create on grant permission grants from. It on one permission is helping, permissions are done at once those already have to your experience with it. Enable resource group administration. We appoint or revoke permissions to interim principal using DCL Data Control Language Permission to a securable can be assigned to an. In SQL 2000 and previous versions granting someone drop TABLE. SummaryInstructions about granting Redshift cluster access and optionally. Run on schema permissions levels, create temporary tables to be granted permission for securables to sum up processes to groups of rows into the role itself? It checks permissions each plunge a cursor is opened. Oracle Role Privileges Mecenatetvit. If we did not grant schema? Other users can trim or execute objects within a user's schema after the. If you sister to grant permission to house any stored procedures but no tables you tend need to put rest in different schemas and grant permissions per schema. For example, to speak the WRITE privilege on an gain stage, as does dad give permission to justice it. Find a schema permissions granted. You typically grant object-level privileges to provide shape to objects needed to build an application The privileges are granted to the schema that maps to the.
    [Show full text]
  • Short Type Questions and Answers on DBMS
    BIJU PATNAIK UNIVERSITY OF TECHNOLOGY, ODISHA Short Type Questions and Answers on DBMS Prepared by, Dr. Subhendu Kumar Rath, BPUT, Odisha. DABASE MANAGEMENT SYSTEM SHORT QUESTIONS AND ANSWERS Prepared by Dr.Subhendu Kumar Rath, Dy. Registrar, BPUT. 1. What is database? A database is a logically coherent collection of data with some inherent meaning, representing some aspect of real world and which is designed, built and populated with data for a specific purpose. 2. What is DBMS? It is a collection of programs that enables user to create and maintain a database. In other words it is general-purpose software that provides the users with the processes of defining, constructing and manipulating the database for various applications. 3. What is a Database system? The database and DBMS software together is called as Database system. 4. What are the advantages of DBMS? 1. Redundancy is controlled. 2. Unauthorised access is restricted. 3. Providing multiple user interfaces. 4. Enforcing integrity constraints. 5. Providing backup and recovery. 5. What are the disadvantage in File Processing System? 1. Data redundancy and inconsistency. 2. Difficult in accessing data. 3. Data isolation. 4. Data integrity. 5. Concurrent access is not possible. 6. Security Problems. 6. Describe the three levels of data abstraction? The are three levels of abstraction: 1. Physical level: The lowest level of abstraction describes how data are stored. 2. Logical level: The next higher level of abstraction, describes what data are stored in database and what relationship among those data. 3. View level: The highest level of abstraction describes only part of entire database.
    [Show full text]
  • IVOA Astronomical Data Query Language Version
    International Virtual Observatory Alliance IVOA Astronomical Data Query Language Version 2.0 IVOA Recommendation 30 Oct 2008 This version: 2.0 Latest version: http://www.ivoa.net/Documents/latest/ADQL.html Previous version(s): 2.0-20081028 Editor(s): Pedro Osuna and Inaki Ortiz Author(s): Inaki Ortiz, Jeff Lusted, Pat Dowler, Alexander Szalay, Yuji Shirasaki, Maria A. Nieto- Santisteban, Masatoshi Ohishi, William O’Mullane, Pedro Osuna, the VOQL-TEG and the VOQL Working Group. Abstract This document describes the Astronomical Data Query Language (ADQL). ADQL has been developed based on SQL92. This document describes the subset of the SQL grammar supported by ADQL. Special restrictions and extensions to SQL92 have been defined in order to support generic and astronomy specific operations. 1 Status of This Document This document has been produced by the VO Query Language Working Group. It has been reviewed by IVOA Members and other interested parties, and has been endorsed by the IVOA Executive Committee as an IVOA Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from another document. IVOA's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability inside the Astronomical Community. Please note that version 1.0 was never promoted to Proposed Recommendation. A list of current IVOA Recommendations and other technical documents can be found at http://www.ivoa.net/Documents/.
    [Show full text]
  • SQL - Data Query Language
    SQL - Data Query language Eduardo J Ruiz October 20, 2009 1 Basic Structure • The simple structure for a SQL query is the following: select a1...an from t1 .... tr where C Where t1 . tr is a list of relations in the database schema, a1 . an the elements in the resultant relation and C a list of constraints. • ai can be 1. A constant 2. An attribute in the resultant relation 3. A function applied to one attribute or several attributes 4. An aggregation function 5. * if we want to list all the attributes of a particular relation • n is the arity of the resultant relation. • C contains the list of restrictions that enforces the joins and the selections • Some queries are equivalent to πa1...an σC (t1 × t2 . tr) Select all the attributes from the students with a GPA greater than 3.0 σgpa>3.0student select * from student where gpa > 3.0 The following query use a function to present the student full-name (concat is a mysql function) πpantherid,name+lastname(σgpa>3.0∧gender=0F 0 (student)) 1 select panterid, concat(name,’ ’,lastname) from student where gpa > 3.0 and gender=’F’ Cartesian product. All the students with all the courses. σpantherid,courseid(student × enrolled) select panterid, courseid from student,enrolled • Query construction: 1. Select all the useful tables from the schema 2. Add the necessary join conditions (this is the most important step) 3. Add the necessary filter conditions 4. Select the attributes (apply fancy functions as needed) 5. Sort the results 2 Renaming • You can rename tables and attributes • Why: to avoid ambiguity (two tables with the same attributes, self joins), to use clearer names, to add names to anonymous columns In the following example we rename the concatenated attribute to full name and we add an extra attribute.
    [Show full text]
  • Nosql and TRADITIONAL DATABASE INTEGRATION: CASE STUDY PROJECT BDIC-DM
    Ciências Exatas e da Terra - Ciência da Computação - Sistemas de Computação - Arquitetura de Sistemas de Computação (Ciência da Computação) NoSQL AND TRADITIONAL DATABASE INTEGRATION: CASE STUDY PROJECT BDIC-DM Ramiro Tadeu Wisnieski 1 Data de entrega dos originais à redação em: 12/08/2016 e recebido para diagramação em: 20/04/2018 This article describes the procedures involved in integrating a NoSQL database with a traditional one. These procedures were implemented in an academic project context of agile development, entitled Big Data, Internet of Things and Mobile Devices (BDIC-DM in Portuguese). This project was conceived in the first half of 2015 at Aeronautics Institute of Technology (ITA). As a requirement for the effectiveness of the mission, the implementation of an e-commerce system to manage transactions involving large volumes of data (Big Data), a number of different technologies were used. Among these tools the ones that stand out are those involving the generation, storage and consumption of large volumes of data. As a starting point for some features of Real Time Transactional Processing (OLTP - Online Transactional Processing) system, the traditional Database Management System (DBMS) MySQL was used along with the DBMS NoSQL Cassandra to store the portal purchase data. As for the batch data analysis (OLAP - Online Analytical Processing) Apache Hadoop Ecosystem was used. An infrastructure based on the Apache Sqoop tool allowed the export of data from traditional relational database to the HDFS(Hadoop File System). Keywords: Big Data. Cassandra. Iintegration. MySQL. NoSQL. I. INTRODUCTION system makes use of relationships between different With the recent rise of Big Data worldwide, it entities, attributes and records.
    [Show full text]
  • Cs6302 Database Management System Two Marks Unit I Introduction to Dbms
    CS6302 DATABASE MANAGEMENT SYSTEM TWO MARKS UNIT I INTRODUCTION TO DBMS 1. Who is a DBA? What are the responsibilities of a DBA? April/May-2011 A database administrator (short form DBA) is a person responsible for the design, implementation, maintenance and repair of an organization's database. They are also known by the titles Database Coordinator or Database Programmer, and is closely related to the Database Analyst, Database Modeller, Programmer Analyst, and Systems Manager. The role includes the development and design of database strategies, monitoring and improving database performance and capacity, and planning for future expansion requirements. They may also plan, co-ordinate and implement security measures to safeguard the database 2. What is a data model? List the types of data model used. April/May-2011 A database model is the theoretical foundation of a database and fundamentally determines in which manner data can be stored, organized, and manipulated in a database system. It thereby defines the infrastructure offered by a particular database system. The most popular example of a database model is the relational model. types of data model used Hierarchical model Network model Relational model Entity-relationship Object-relational model Object model 3.Define database management system. Database management system (DBMS) is a collection of interrelated data and a set of programs to access those data. 4.What is data base management system? A database management system (DBMS) is a software package with computer programs that control the creation, maintenance, and the use of a database. It allows organizations to conveniently develop databases for various applications by database administrators (DBAs) and other specialists.
    [Show full text]
  • 444 Difference Between Sql and Nosql Databases
    International Journal of Management, IT & Engineering Vol. 8 Issue 6, June 2018, ISSN: 2249-0558 Impact Factor: 7.119 Journal Homepage: http://www.ijmra.us, Email: [email protected] Double-Blind Peer Reviewed Refereed Open Access International Journal - Included in the International Serial Directories Indexed & Listed at: Ulrich's Periodicals Directory ©, U.S.A., Open J-Gage as well as in Cabell’s Directories of Publishing Opportunities, U.S.A Difference between SQL and NoSQL Databases Kalyan Sudhakar* Abstract This article explores the various differences between SQL and NoSQL databases. It begins by giving brief descriptions of both SQL and NoSQL databases and then discussing the various pros and cos of each database type. This article also examines the applicability differences between the two database types. Structured Query Language (SQL) refers to a domain-specific or standardized programming language used by database designers in designing and managing relational SQL databases or controlling data stored in RDSMS (relational database management system). The scope of SQL database encompasses data query, data definition (creation and modification of schema), data manipulation (inserting, deleting, and updating), as well as control of data access. NoSQL databases are non-relational and can exist together with relational databases. NoSQL databases are most suitable for use in applications that involve large amounts of data, and the data can either be unstructured, structured, or semi- structured. SQL databases have been the most widely used databases in the world over the years. However, it is the requirements that drive data models, which in turns, influence the choice between SQL and NoSQL databases.
    [Show full text]