Database Models: Relational, Hierarchical, Network, Object-Oriented, and Object-Relational, Study Guides, Projects, Research of Computer science

Lo1 Part 1 assigment. Database Models,Analyzing Database Management Systems.

Typology: Study Guides, Projects, Research

2019/2020

Uploaded on 02/13/2023

CaptainS
CaptainS 🇮🇩

5

(1)

5 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
ANALYSING
DATABASE
MANAGEMENT
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Database Models: Relational, Hierarchical, Network, Object-Oriented, and Object-Relational and more Study Guides, Projects, Research Computer science in PDF only on Docsity!

ANALYSING

DATABASE

MANAGEMENT

Introduction

This report is designed to outline the fundamentals and the requirements of Database Management Systems (DMBS).

Database Models

RELATIONAL MODEL

The most common database model used today is the relational database model, the core principals of this model are sorting pieces of information within respective tables, these tables are what form the relations within the database. Every table consists of columns and rows, the columns contain the values for the attributes defined within the rows such as quantity or student_ID. The domain is referred to the set of attributes of a given table as they define the scope of any given relation. Every table will consist of what is known as a primary key or in some cases a composite key which is derived from two attributes to make a unique one, these attributes always remain unique within a table and are used to refer tables when a primary key is referenced in a table it is known as a foreign key. This model allows for one-to-one, many-to-many and one-to-many relationships. Relational databases also can be normalized this allows for greater flexibility and scalability within the database. Relational databases are often written in SQl (Anon., 2019). ENTITY-RELATIONSHIP MODEL This model utilizes the links between real-world objects or entities and isn’t often used to define the physical structure of a database but is more akin to be a design tool for developing a conceptual model of the database. Taking persons or locations as entities as an example, these are defined as entities with their own respective data structures and attributes that define their domain. The entity-relationship model allows the mapping of relationships between entities. “A common form of the ER diagram is the star schema, in which a central fact table connects to multiple dimensional tables” (Anon., 2019). HIERARCHICAL MODEL This model utilizes a tree structure to organize the data within the database, every record has one parent, unlike the relational model order is relevant to the hierarchical data structure as siblings are sorted in order as this order defines the storing of the information within the database. Real world relationships are fairly simple to describe using this model but is now outdated and is rarely used. “This model was primarily used by IBM’s Information Management Systems in the 60s and 70s, but they are rarely seen today due to certain operational inefficiencies” (Anon., 2019). NETWORK MODEL This model stacks on top of the design of the hierarchical model by allowing versatility in relationships as many-to-many cannot occur in hierarchical but can in the network model. In this model children can now have more than one parent. The model is made via groups of children records each of these consists of a parent record along with a single or multiple children records. Any record is able to be a

only, no child can have more than one parent. to-many. Relations The relations are defined as linked lists utilizing pointers that are stored within the parent and child tuples allowing the navigation of the records, the pointers can be multiple things like an address or key field. Can only support one-to-one and one-to- many relations. Uses linked lists like the hierarchical model but a series of them instead to build relationships, every list has a parent record and possibly multiple member records as well. Any record could be a parent or member of multiple lists. Different entities are related using relationshi ps Uses unique attribute keys to build relationships between data in several ways. supports one- to-one, one- to-many & many-to- many relationship Defines program pieces, object types, functions/meth ods & the relationships between them. Allows objects to used again. fundamental ly a structure similar to the relational database but with elements of the object- oriented structure as well. Attributes each column within a table is an attribute. attributes are instance variables which can have any classes domain. domain Scope of the attribute, can INT varchar etc. Tuples A single row of a table. Cardinalit y One-to-one and one-to- many only, one to many only applies in regard to one parent with multiple children. One-to-one, one-to-many and many-to- many One-to- one, one- to-many and many- to-many One-to-one, one-to-many and many-to- many One-to-one, one-to-many and many-to- many One-to-one, one-to- many and many-to- many Key Constraint unsupported unsupported Keys are used to

s define relationships with other tables Referentia l Integrity No children may exist without a parent, parents must always be defined first No children may exist without a parent, parents must always be defined first referential integrity uses foreign keys that are referenced in other tables these referenced values must exist in their respective tables. Modeling Languages

DDL, DML DDL,DML UML

Normalization within relational

models

WHAT IS NORMALIZATION?

Database normalization is an organization technique within database tables. There are three common forms or levels of normalization, the first, second and third normal form (Poolet, n.d.). the purpose of normalization is to reduce redundancy within a database and to ensure that the data within a database is logically stored. Below are the different normal forms described relative to their required conditions. 1 st^ Normal Form:

  1. Only single valued attributes are allowed
  2. Values in a single column must be in the same scope or domain.
  3. Each column must be uniquely identifiable
  4. The order of data is irrelevant. 2 nd^ Normal Form:
  5. First normal form must be achieved
  6. There should be no partial dependencies 3 rd^ Normal Form:
  7. 2 nd^ normal form must be achieved
  8. There should be no transitive dependency
  1. Cost
  2. Reliability
  3. Performance
  4. Scalability
  5. Platforms Before getting into a detail analysis let’s look at a brief description of these DBMS, MICROSOFT SQL SERVER Microsoft sql server is a vendor specific DBMS developed by Microsoft, it was first released in 1989 and was implemented in C++ and its server operating systems are Linux and Windows (Db- engines.com, n.d.). Support of transactions and concurrency is present and the supported programming languages are the following:
  6. C#
  7. C++
  8. Delphi
  9. Go
  10. Java
  11. JavaScript (Node.js)
  12. PHP
  13. Python
  14. R
  15. Ruby
  16. Visual Basic MYSQL MySQL is an open Source DBMS that was developed by Oracle. MySQL’s first release was in 1995 it was implemented in C and C++ and its server operating systems are FreeBSD, Linux, OS X, Solaris and Windows. Support of transactions and concurrency is present and the supported programming languages are the following:
  17. Ada
  18. C
  19. C#
  20. C++
  21. D
  22. Delphi
  23. Eiffel
  24. Erlang
  25. Haskell
  26. Java
  27. JavaScript (Node.js)
  28. Objective-C
  1. OCaml
  2. Perl
  3. PHP
  4. Python
  5. Ruby
  6. Scheme
  7. Tcl ORACLE Oracle is another relational DBMS developed in 1980, it is a vendor specific software that was written in C and C++, it supports the following sever operating systems, AIX, HP-UX, Linux, OS X, Solaris, Windows and z/OS (Db-engines.com, n.d.). Oracle’s Database is one of the most popular among today’s market. The supported languages are the following:

1. C

2. C#

3. C++

4. Clojure

5. Cobol

6. Delphi

7. Eiffel

8. Erlang

9. Fortran

10. Groovy

11. Haskell

12. Java

13. JavaScript

14. Lisp

15. Objective C

16. OCaml

17. Perl

18. PHP

19. Python

20. R

21. Ruby

22. Scala

23. Tcl

24. Visual Basic

  1. The approach on communication should allow for scalability because this allows easier distribution of data through the (Khan, 2006). Bibliography (Anon., 2019: , (Anon., 2019), (Poolet, n.d.: , (Poolet, n.d.), (Tutorials, n.d.: , (Tutorials, n.d.), (Khan, 2006: , (Khan, 2006), Db-engines.com, n.d.: , (Db-engines.com, n.d.), (Wheeler, 2015: , (Wheeler, 2015), (MySQL, 2004: , (MySQL, 2004), (Wheeler, 2011: , (Wheeler, 2011),