Outline What Is a DBMS? Examples Relational Model Database

Total Page:16

File Type:pdf, Size:1020Kb

Outline What Is a DBMS? Examples Relational Model Database Outline What is a DBMS? • The world of databases • A Database Management System • The relational model manages very large amounts of data • Normalization and provides: – Normal forms – Decomposition – persistent storage, • Relational algebra – efficient access, – Elegant theoretical framework – concurrent access, – secure, atomic access. Examples Relational Model • (Almost) Everything is a database! • Based on tables, as: – Banking systems acct# name balance 12345 Kate 100000.21 – Reservation systems 76543 Rick 89.01 23500 Tom 555999.02 – Libraries 34567 Alice 285.48 …… … – The Web • Varying degrees of structure, organization, • Today used in most DBMS's. and efficiency. Database Marketplace Relational DBMS Market • Market size: $7.8B in 2004. • In 2004, $15B ($13.4B in 2003) • Major vendors: – IBM: DB2, Informix – 34.1% • Market shares: – Oracle – 33.7% – Oracle 41.3% – Microsoft: SQL Server, Access – 20.0% – IBM 30.6% • Open-source databases are growing in popularity: – Microsoft 13.4% – MySQL, PostgresSQL – Sybase 3.1% – NCR (Teradata) 2.6% Source: Gartner – Other 9.0% Source: IDC 1 Relational Model Keys •Table = relation. • Need to distinguish tuples. • Column headers = attributes. – No pointers or tuple IDs • K is a key for relation R if: •Row = tuple. name manf 1. K determines all attributes of R. • Beers example: Honkers Ale Goose Island 2. For no proper subset of K is (1) true. BudLite A.B. • Consequences: … … – The value of a key is unique within a relation, i.e., no two tuples agree on keyattributes. Relational Model Why Relations? • Relation schema: • Very simple model. – name (attributes) – other structure info., e.g., keys, other constraints. • Often a good match for the way we think • Relation instance is current set of rows for a relation about our data. schema. • Abstract model that underlies SQL, the • Database schema is collection of relation schemas. most important language in DBMS’s today. •“A Relational Model of Data for Large Shared Data Banks” by E. F. Codd in Communications of ACM, Vol 13. No. 6, June 1970 – But SQL uses bags while the abstract • E. F. Codd received the Turing award in 1981. relational model is set-oriented. Relational Design Example • Model the real world scenario with diagrams Drinkers(name, addr, beersLiked, manf, favoriteBeer) – Entity-Relationship (E-R) diagrams name addr beersLiked manf favoriteBeer • Translate diagram to relations Mike 111 E Ohio Bud A.B. Blonde Ale Mike 111 E Ohio Blonde Ale G.I. Blonde Ale • Normalize relations Nick 2000 W North Bud A.B. Corona – Eliminate redundancies, other anomalies Anna 123 W Grand BudLite A.B. BudLite • Implement in SQL • What is wrong with this relation? • Load data 2 Example Normalization name addr beersLiked manf favoriteBeer • Improve the schema by decomposing relations Mike 111 E Ohio Bud A.B. Blonde Ale and removing anomalies. Mike ??? Blonde Ale G.I. ??? • Boyce-Codd Normal Form (BCNF): all Nick 2000 W North Bud ??? Corona dependencies follow from keys of relations. Anna 123 W Grand BudLite A.B. BudLite • Third Normal Form (3NF): all dependencies • ???’s are redundant, since we can figure them out from the follow from keys or determine parts of keys FD’s. • Update anomalies: If Mike moves, we need to change addr in • Other normal forms: each of his tuples. – 1NF, 2NF, 4NF, 5NF • Deletion anomalies: If nobody likes Bud, we lose track of Bud’s manufacturer. Decomposition Properties 3NF vs. BCNF 1. We should be able to recover from the • A relation can always be decomposed into decomposed relations the data of the BCNF and satisfy (1). original. • A relation can always be decomposed into – Recovery involves projection and join 3NF and satisfy both (1) and (2). 2. We should be able to check that the • But it is not possible to decompose into dependencies for the original relation are BCNF and get both (1) and (2). satisfied by checking the projections of – Street-city-zip is a counterexample. those dependencies in the decomposed relations. Example (1/4) Example (2/4) name addr beersLiked manf favoriteBeer Mike 111 E Ohio Bud A.B. Blonde Ale Drinkers(name,addr, beersLiked, manf, favoriteBeer) Mike 111 E Ohio Blonde Ale G.I. Blonde Ale Drinkers1(name, addr, favoriteBeer) Nick 2000 W North Bud A.B. Corona Anna 123 W Grand BudLite A.B. BudLite Drinkers2(name,beersLiked, manf) • Drinkers can be decomposed as: Drinkers3(beersLiked, manf) Drinkers Drinkers4(name, beersLiked) Drinkers1 Drinkers2 • How would you rename this relations? Drinkers3 Drinkers4 3 Example (3/4) Example (4/4) Project onto Drinkers1(name, addr, favoriteBeer): Project onto Drinkers4(name, beersLiked): name addr favoriteBeer Mike 111 E Ohio Blonde Ale name beersLiked Nick 2000 W North Corona Mike Bud Anna 123 W Grand BudLite Mike Blonde Ale Nick Bud Project onto Drinkers3(beersLiked, manf): Anna BudLite beersLiked manf Bud A.B. Blonde Ale G.I. BudLite A.B. Core Relational Algebra Selection σ • A small set of operators that allows us to • R1 = C (R2) manipulate relations in limited but useful ways. – where C is a condition involving the attributes of relation R2. 1. Union, intersection, and difference: the usual set •Example: bar beer pric e operators. Relation Sells: Spoon Amstel 4 • Relation schemas must be the same. Spoon Guinness 7 2. Selection: Pick certain rows from a relation. Whiskey Guinness 7 3. Projection: Pick certain columns. Whiskey Bud 5 σ 4. Products and joins: Combine relations in useful SpoonMenu = bar=Spoon(Sells) ways. bar beer price 5. Renaming of relations and their attributes. Spoon Amstel 4 Spoon Guinness 7 Projection Product • R = π (R ) × 1 L 2 • R = R1 R2 –where L is a list of attributes from the schema of R . 2 – pairs each tuple t1 of R1 with each tuple t2 of •Example R2 and puts in R a tuple t1t2. π beer,price(Sells) beer price • Theta-Join: R = R1 C R2 σ × Amstel 4 – is equivalent to R = C(R1 R2). Guinness 7 Bud 5 • Notice elimination of duplicate tuples. 4 Example Natural Join Sells = bar beer price Bars = • R = R1 R2 Spoon Amstel 4 name addr – Equivalent to: Spoon Guinness 7 Spoon Wells 1. theta-join of R1 and R2 with the condition that all attributes Whiskey Guinness 7 Whiskey Rush of the same name be equated. Whiskey Bud 5 2. one column for each pair of equated attributes is projected out. BarInfo = Sells Bars Sells.bar=Bars.name • What is the formula? bar beer price name addr Spoon Amstel 4 Spoon Wells •Example: Spoon Guinness 7 Spoon Wells – Suppose the attribute name in relation Bars was Whiskey Guinness 7 Whiskey Rush changed to bar, to match the bar name in Sells. Whiskey Bud 5 Whiskey Rush – BarInfo = Sells Bars Natural Join Example Renaming ρ • BarInfo = Sells Bars • S(A1,…,An) (R) produces a relation identical to R but named S and with attributes, in bar beer price addr order, named A1,…,An. Spoon Amstel 4 Wells • Example: bar addr Spoon Guinness 7 Wells ρ R(bar,addr) (Bars) = Spoon Wells Whiskey Guinness 7 Rush Whiskey Rush Whiskey Bud 5 Rush • The name of the second relation is R. Combining Operations Example • Any algebra is defined as: • Find the bars that are either on Wells – basis arguments Street or sell Bud for less than $6. – ways of constructing expressions Sells(bar, beer, price) • For relational algebra: Bars(name, addr) – Arguments = variables standing for relations + finite, constant relations. – Expressions constructed by applying one of the operators + parentheses. • Query = expression of relational algebra. 5 Bag Semantics Bag Operations • A relation (in SQL, at least) is really a bag. • Union: sum the times an element appears in the two bags. • It may contain the same tuple more than • Example: {1,2,1} ∪ {1,2,3,3} = {1,1,1,2,2,3,3}. once, although there is no specified order • Intersection: take the minimum of the number of (unlike a list). occurrences in each bag. • Example: {1,2,1,3} is a bag and not a set. • Example: {1,2,1} ∩ {1,2,3,3} = {1,2} • Select, project, and join work for bags as • Difference: subtract the number of occurrences in the two bags. well as sets. • Example: {1,2,1} – {1,2,3,3} = {1}. – Just work on a tuple-by-tuple basis, and don't eliminate duplicates. Different Laws for Bags Example • Some familiar laws continue to hold for • R ∩ (S ∪ T) ≡ (R ∩ S) ∪ (R ∩ T) holds for bags. sets but not for bags! – Examples: union and intersection are still • Let R, S, and T each be the bag {1}. commutative and associative. • Left side: S ∪ T = {1,1}; R ∩ (S ∪ T) = {1}. • But other laws that hold for sets do not • Right side: R ∩ S = R ∩ T = {1}; hold for bags! (R ∩ S) ∪ (R ∩ T) = {1} ∪ {1} = {1,1} ≠ {1}. Extended Relational Algebra • Adds features needed for SQL, bags. • Duplicate-elimination operator δ. • Extended projection. • Sorting operator τ. 6.
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]
  • The Relational Data Model and Relational Database Constraints
    chapter 33 The Relational Data Model and Relational Database Constraints his chapter opens Part 2 of the book, which covers Trelational databases. The relational data model was first introduced by Ted Codd of IBM Research in 1970 in a classic paper (Codd 1970), and it attracted immediate attention due to its simplicity and mathematical foundation. The model uses the concept of a mathematical relation—which looks somewhat like a table of values—as its basic building block, and has its theoretical basis in set theory and first-order predicate logic. In this chapter we discuss the basic characteristics of the model and its constraints. The first commercial implementations of the relational model became available in the early 1980s, such as the SQL/DS system on the MVS operating system by IBM and the Oracle DBMS. Since then, the model has been implemented in a large num- ber of commercial systems. Current popular relational DBMSs (RDBMSs) include DB2 and Informix Dynamic Server (from IBM), Oracle and Rdb (from Oracle), Sybase DBMS (from Sybase) and SQLServer and Access (from Microsoft). In addi- tion, several open source systems, such as MySQL and PostgreSQL, are available. Because of the importance of the relational model, all of Part 2 is devoted to this model and some of the languages associated with it. In Chapters 4 and 5, we describe the SQL query language, which is the standard for commercial relational DBMSs. Chapter 6 covers the operations of the relational algebra and introduces the relational calculus—these are two formal languages associated with the relational model.
    [Show full text]
  • Relational Schema Database Design
    Relational Schema Database Design Venezuelan Danny catenates variedly. Fleeciest Giraldo cane ingeniously. Wolf is quadricentennial and administrate thereat while inflatable Murray succor and desert. So why the users are vital for relational schema design of data When and database relate to access time in each relation cannot delete all databases where employees. Parallel create index and concatenated indexes are also supported. It in database design databases are related is designed relation bc, and indeed necessary transformations in. The column represents the set of values for a specific attribute. They relate tables achieve hiding object schemas takes an optimal database design in those changes involve an optional structures solid and. If your database contains incorrect information, even with excessive entities, the field relating the two tables is the primary key of the table on the one side of the relationship. By schema design databases. The process of applying the rules to your database design is called normalizing the database, which can be conducted at the School or at the offices of the client as they prefer. To identify the specific customers who mediate the criteria, and the columns to ensure field. To embassy the columns in a table, exceed the cluster key values of a regular change, etc. What is Cloud Washing? What you design databases you cannot use relational database designing and. Database Design Washington. External tables access data in external sources as if it were in a table in the database. A relational schema for a compress is any outline of how soon is organized. The rattle this mapping is generally performed is such request each thought of related data which depends upon a background object, but little are associated with overlapping elements, there which only be solid level.
    [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]
  • Accessing a Relational Database Through an Object-Oriented Database Interface (Extended Abstract)
    Accessing a Relational Database through an Object-Oriented Database Interface (extended abstract) J. A. Orenstein D. N. Kamber Object Design, Inc. Credit Suisse [email protected] [email protected] Object-oriented database systems (ODBs) are Typically, their goal is not to migrate data from designedfor use in applicationscharacterized by complex relational databases into object-oriented databases. data models, clean integration with the host ODBs and RDBs are likely to have different programming language, and a need for extremely fast performance characteristics for some time, and it is creation, traversal, and update of networks of objects. therefore unlikely that one kind of systemcan displace Theseapplications are typically written in C or C++, and the other. Instead,the goal is to provide accessto legacy the problem of how to store the networks of objects, and databasesthrough object-orientedinterfaces. update them atomically has been difficult in practice. For this reason, we designed and developed, in Relational databasesystems (RDBs) tend to be a poor fit conjunction,with the Santa Teresa Labs of IBM, the for these applications because they are designed for ObjectStoreGateway, a systemwhich providesaccess to applications with different performance requirements. relationaldatabasesthrough the ObjectStoreapplication ODBs are designedto meet theserequirements and have programming interface (API). ObjectStore queries, proven more successful in pioviding”persistence for collectionand cursor operationsare translatedinto SQL. applicationssuch as ECAD and MCAD.’ The tuple streamsresulting from execution of the SQL Interest in ODBs has-spread be$ond the CAD query are turned into objects;these objects may be either communities, to areas such as finance and transient, or persistent, stored in an ObjectStore telecommunications.
    [Show full text]
  • 8 the Relational Data Model
    CHAPTER 8 ✦ ✦ ✦ ✦ The Relational Data Model One of the most important applications for computers is storing and managing information. The manner in which information is organized can have a profound effect on how easy it is to access and manage. Perhaps the simplest but most versatile way to organize information is to store it in tables. The relational model is centered on this idea: the organization of data into collections of two-dimensional tables called “relations.” We can also think of the relational model as a generalization of the set data model that we discussed in Chapter 7, extending binary relations to relations of arbitrary arity. Originally, the relational data model was developed for databases — that is, Database information stored over a long period of time in a computer system — and for database management systems, the software that allows people to store, access, and modify this information. Databases still provide us with important motivation for understanding the relational data model. They are found today not only in their original, large-scale applications such as airline reservation systems or banking sys- tems, but in desktop computers handling individual activities such as maintaining expense records, homework grades, and many other uses. Other kinds of software besides database systems can make good use of tables of information as well, and the relational data model helps us design these tables and develop the data structures that we need to access them efficiently. For example, such tables are used by compilers to store information about the variables used in the program, keeping track of their data type and of the functions for which they are defined.
    [Show full text]
  • DBMS Keys Mahmoud El-Haj 13/01/2020 The
    DBMS Keys Mahmoud El-Haj 13/01/2020 The following is to help you understand the DBMS Keys mentioned in the 2nd lecture (2. Relational Model) Why do we need keys: • Keys are the essential elements of any relational database. • Keys are used to identify tuples in a relation R. • Keys are also used to establish the relationship among the tables in a schema. Type of keys discussed below: Superkey, Candidate Key, Primary Key (for Foreign Key please refer to the lecture slides (2. Relational Model). • Superkey (SK) of a relation R: o Is a set of attributes SK of R with the following condition: . No two tuples in any valid relation state r(R) will have the same value for SK • That is, for any distinct tuples t1 and t2 in r(R), t1[SK] ≠ t2[SK] o Every relation has at least one default superkey: the set of all its attributes o Basically superkey is nothing but a key. It is a super set of keys where all possible keys are included (see example below). o An attribute or a set of attributes that can be used to identify a tuple (row) of data in a Relation (table) is a Superkey. • Candidate Key of R (all superkeys that can be candidate keys): o A "minimal" superkey o That is, a (candidate) key is a superkey K such that removal of any attribute from K results in a set of attributes that IS NOT a superkey (does not possess the superkey uniqueness property) (see example below). o A Candidate Key is a Superkey but not necessarily vice versa o Candidate Key: Are keys which can be a primary key.
    [Show full text]
  • A Methodology for Evaluating Relational and Nosql Databases for Small-Scale Storage and Retrieval
    Air Force Institute of Technology AFIT Scholar Theses and Dissertations Student Graduate Works 9-1-2018 A Methodology for Evaluating Relational and NoSQL Databases for Small-Scale Storage and Retrieval Ryan D. Engle Follow this and additional works at: https://scholar.afit.edu/etd Part of the Databases and Information Systems Commons Recommended Citation Engle, Ryan D., "A Methodology for Evaluating Relational and NoSQL Databases for Small-Scale Storage and Retrieval" (2018). Theses and Dissertations. 1947. https://scholar.afit.edu/etd/1947 This Dissertation is brought to you for free and open access by the Student Graduate Works at AFIT Scholar. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of AFIT Scholar. For more information, please contact [email protected]. A METHODOLOGY FOR EVALUATING RELATIONAL AND NOSQL DATABASES FOR SMALL-SCALE STORAGE AND RETRIEVAL DISSERTATION Ryan D. L. Engle, Major, USAF AFIT-ENV-DS-18-S-047 DEPARTMENT OF THE AIR FORCE AIR UNIVERSITY AIR FORCE INSTITUTE OF TECHNOLOGY Wright-Patterson Air Force Base, Ohio DISTRIBUTION STATEMENT A. Approved for public release: distribution unlimited. AFIT-ENV-DS-18-S-047 The views expressed in this paper are those of the author and do not reflect official policy or position of the United States Air Force, Department of Defense, or the U.S. Government. This material is declared a work of the U.S. Government and is not subject to copyright protection in the United States. i AFIT-ENV-DS-18-S-047 A METHODOLOGY FOR EVALUATING RELATIONAL AND NOSQL DATABASES FOR SMALL-SCALE STORAGE AND RETRIEVAL DISSERTATION Presented to the Faculty Department of Systems and Engineering Management Graduate School of Engineering and Management Air Force Institute of Technology Air University Air Education and Training Command In Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy Ryan D.
    [Show full text]
  • The Relational Model
    The Relational Model Read Text Chapter 3 Laks VS Lakshmanan; Based on Ramakrishnan & Gehrke, DB Management Systems Learning Goals given an ER model of an application, design a minimum number of correct tables that capture the information in it given an ER model with inheritance relations, weak entities and aggregations, design the right tables for it given a table design, create correct tables for this design in SQL, including primary and foreign key constraints compare different table designs for the same problem, identify errors and provide corrections Unit 3 2 Historical Perspective Introduced by Edgar Codd (IBM) in 1970 Most widely used model today. Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. “Legacy systems” are usually hierarchical or network models (i.e., not relational) e.g., IMS, IDMS, … Unit 3 3 Historical Perspective Competitor: object-oriented model ObjectStore, Versant, Ontos A synthesis emerging: object-relational model o Informix Universal Server, UniSQL, O2, Oracle, DB2 Recent competitor: XML data model In all cases, relational systems have been extended to support additional features, e.g., objects, XML, text, images, … Unit 3 4 Main Characteristics of the Relational Model Exceedingly simple to understand All kinds of data abstracted and represented as a table Simple query language separate from application language Lots of bells and whistles to do complicated things Unit 3 5 Structure of Relational Databases Relational database: a set of relations Relation: made up of 2 parts: Schema : specifies name of relation, plus name and domain (type) of each field (or column or attribute). o e.g., Student (sid: string, name: string, address: string, phone: string, major: string).
    [Show full text]
  • The Relational Model
    The Relational Model Watch video: https://youtu.be/gcYKGV-QKB0?t=5m15s Topics List • Relational Model Terminology • Properties of Relations • Relational Keys • Integrity Constraints • Views Relational Model Terminology • A relation is a table with columns and rows. • Only applies to logical structure of the database, not the physical structure. • Attribute is a named column of a relation. • Domain is the set of allowable values for one or more attributes. Relational Model Terminology • Tuple is a row of a relation. • Degree is the number of attributes in a relation. • Cardinality is the number of tuples in a relation. • Relational Database is a collection of normalised relations with distinct relation names. Instances of Branch and Staff Relations Examples of Attribute Domains Alternative Terminology for Relational Model Topics List • Relational Model Terminology • Properties of Relations • Relational Keys • Integrity Constraints • Views Properties of Relations • Relation name is distinct from all other relation names in relational schema. • Each cell of relation contains exactly one atomic (single) value. • Each attribute has a distinct name. • Values of an attribute are all from the same domain. Properties of Relations • Each tuple is distinct; there are no duplicate tuples. • Order of attributes has no significance. • Order of tuples has no significance, theoretically. Topics List • Relational Model Terminology • Properties of Relations • Relational Keys • Integrity Constraints • Views Relational Keys • Superkey • Super key stands for superset of a key. A Super Key is a set of one or more attributes that are taken collectively and can identify all other attributes uniquely. • An attribute, or set of attributes, that uniquely identifies a tuple within a relation.
    [Show full text]
  • Performance Analysis of Nosql and Relational Databases with Couchdb and Mysql for Application’S Data Storage
    applied sciences Article Performance Analysis of NoSQL and Relational Databases with CouchDB and MySQL for Application’s Data Storage Cornelia A. Gy˝orödi 1,* , Diana V. Dum¸se-Burescu 2, Doina R. Zmaranda 1 , Robert ¸S.Gy˝orödi 1 , Gianina A. Gabor 1 and George D. Pecherle 1 1 Department of Computer Science and Information Technology, University of Oradea, 410087 Oradea, Romania; [email protected] (D.R.Z.); [email protected] (R.¸S.G.); [email protected] (G.A.G.); [email protected] (G.D.P.) 2 Faculty of Electrical Engineering and Information Technology, Department of Computer Science and Information Technology, University of Oradea, 410087 Oradea, Romania; [email protected] * Correspondence: [email protected] Received: 6 November 2020; Accepted: 25 November 2020; Published: 28 November 2020 Abstract: In the current context of emerging several types of database systems (relational and non-relational), choosing the type and database system for storing large amounts of data in today’s big data applications has become an important challenge. In this paper, we aimed to provide a comparative evaluation of two popular open-source database management systems (DBMSs): MySQL as a relational DBMS and, more recently, as a non-relational DBMS, and CouchDB as a non-relational DBMS. This comparison was based on performance evaluation of CRUD (CREATE, READ, UPDATE, DELETE) operations for different amounts of data to show how these two databases could be modeled and used in an application and highlight the differences in the response time and complexity. The main objective of the paper was to make a comparative analysis of the impact that each specific DBMS has on application performance when carrying out CRUD requests.
    [Show full text]
  • Translation of ER-Diagram Into Relational Schema
    TranslationTranslation ofof ERER --diagramdiagram intointo RelationalRelational SchemaSchema Dr. Sunnie S. Chung CIS430/530 LearningLearning ObjectivesObjectives Define each of the following database terms Relation Primary key Foreign key Referential integrity Field Data type Null value Discuss the role of designing databases in the analysis and design of an information system Learn how to transform an entity-relationship (ER) 9.29.2 Diagram into an equivalent set of well-structured relations 2 3 9.49.4 4 5 ProcessProcess ofof DatabaseDatabase DesignDesign • Logical Design – Based upon the conceptual data model – Four key steps 1. Develop a logical data model for each known user interface for the application using normalization principles. 2. Combine normalized data requirements from all user interfaces into one consolidated logical database model 3. Translate the conceptual E-R data model for the application into normalized data requirements 4. Compare the consolidated logical database design with the 9.69.6 translated E-R model and produce one final logical database model for the application 6 9.79.7 7 RelationalRelational DatabaseDatabase ModelModel • Data represented as a set of related tables or relations • Relation – A named, two-dimensional table of data. Each relation consists of a set of named columns and an arbitrary number of unnamed rows – Properties • Entries in cells are simple • Entries in columns are from the same set of values • Each row is unique • The sequence of columns can be interchanged without changing the meaning or use of the relation • The rows may be interchanged or stored in any 9.89.8 sequence 8 RelationalRelational DatabaseDatabase ModelModel • Well-Structured Relation – A relation that contains a minimum amount of redundancy and allows users to insert, modify and delete the rows without errors or inconsistencies 9.99.9 9 TransformingTransforming EE --RR DiagramsDiagrams intointo RelationsRelations • It is useful to transform the conceptual data model into a set of normalized relations • Steps 1.
    [Show full text]