0% found this document useful (0 votes)
20 views10 pages

BDII

Uploaded by

Alexa Loaiza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views10 pages

BDII

Uploaded by

Alexa Loaiza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

BASES DE DATOS II

TALLER I

ESTUDIANTE

DAVID MONTOYA OCHOA

DOCENTE

CESAR AUGUSTO DIAZ GARCIA

FACULTAD DE INGENIERÍAS

INGENIERÍA INFORMÁTICA

UNIVERSIDAD AUTÓNOMA LATINOAMERICANA


1.Consult the characteristics, advantages and disadvantages of the different historical approaches to
database models.

The history
The chronological order of the development of databases is as follows:
● (1970s-1990s) - Flat files, hierarchical and network
● (1980s-present) - Relational
● (1990s- present) - Object-oriented, object-relational, web-enabled

1960s
The history of databases begins in the 1960s with the computerization of databases. Computers emerged
as a more cost-effective option for organizations. It also became easier to shift data storage and databases
to computers.

● There were two popular data models in this decade: a network model called CODASYL and a
hierarchical model called IMS.
● One database system that proved to be a commercial success was the SABRE system that was
used by IBM to help American Airlines manage its reservations data.
● In 1960, Charles W. Bachman designed the integrated database system, the “first” DBMS.
● IBM, not wanting to be left out, created a database system of its own, known as IMS.

Hierarchical Model:
Characteristics:
● Organize information in a tree structure.
● The hierarchical model is an approach to organizing and structuring data.
● In the hierarchical model, data is organized into levels
● Each level has a "one-to-many" relationship with the level above it.
Advantages: Disadvantages:
● It is efficient for representing ● Difficulty managing more complex
"one-to-many" relationships. "many-to-many" relationships.
● Simple and easy to understand structure. ● Little flexibility in modifying the structure.
● Navigation operations are fast and ● It is not as intuitive to model certain types
efficient. of data as the model relates.

Network Model:
Characteristics:
● Similar to the hierarchical model, but allows a record to have multiple parents.
● Use pointers to represent complex relationships.

Advantages: ● More complex structure than the


● More flexible than the hierarchical model hierarchical model.
for modeling relationships. ● Less intuitive and more difficult to
● It can handle many-to-many understand.
relationships.
Disadvantages:

1970s
Relational Model:
● The relational database was first defined in June 1970 by Edgar Codd, of IBM's San Jose
Research Laboratory.
● It's the successor of hierarchical and network database systems. It was viewed as a major
paradigm shift in database technology.
● In a relational database system, data is stored in tables.
● The columns of the table hold attributes of the data.
● Each record usually has a value for each attribute, making it easy to establish the relationships
between data points.
● Use primary and foreign keys to establish relationships between tables.

Advantages: Disadvantages:
● Simple and easy to understand structure. ● Puede ser menos eficiente para ciertas
● Allows complex queries through operaciones que los modelos jerárquicos
languages ​such as SQL. y de red.
● La normalización puede llevar a un
diseño excesivamente complicado.

Actualmente, debido a la limitación que tenían las BBDD y los sistemas gestores, se implementó un nuevo
concepto. Este nuevo concepto es el de Sistemas Gestores de BBDD Orientados a Objetos (SGBDOO).

1980s
Object-oriented database systems began developing in the mid-80’s out of a necessity to meet the
requirements of applications beyond the data processing applications which were [are] served by relational
database systems.
Characteristics: languages like Java and C++ (Unlike
● satisfy the demand for a more relational databases).
appropriate representation and modeling ● OODBs facilitate development of some
of real world entities. relationships.
● The OODB paradigm is based on a ● Facilitates code reuse through
number of basic concepts, namely inheritance.
object, identity, class, inheritance,
overriding, and late binding Disadvantages:
● In the object-oriented data model ● Interoperability between RDBs and
(OODM), any real world entity is OODBs.
represented by ● Minimal query optimization.
● Lack of standard query algebra.
● only one modeling concept – the object.
● Lack of query facilities.
● OODBs allow users to define
● No support for views in OODBs.
abstractions.
● object-oriented databases work in the
framework of real programming

1990s- present
Modelo NoSQL:

Characteristics:
● The term and the concept NoSQL were invented in 1998 by Carl Strozz.
● This concept was then adopted and popularized by GAFAMs (Google, Apple, Meta, Amazon y
Microsoft.) such as Google, Facebook or Amazon faced with huge volumes of data.
● It does not use a fixed schema, which allows flexibility in the structure of the data.
● In the year 2000 The graphical database Neo4j was launched,Google Bigtable, in 2004, CouchDB
in 2005 by Amazon Dynamo in 2007.
● Then, in 2008, Facebook made open source the non-relational database it uses internally:
Cassandra. This tool became the reference for NoSQL databases.

Advantages:
● The main feature of NoSQL databases is
that they do not follow the relational Disadvantages:
model and do not present tables in the
form of fixed columns. ● Less support for complex queries
● These databases do not require data compared to relational systems.
normalization or relational mapping. ● There may be a lack of standardization
● Non-relational databases are also compared to relational databases
distinguished by an easy-to-use interface
for storing and querying data.

2. Describe the different levels of abstraction of a database model

● One of the main purposes of a database system is to provide users with an abstract view of the
data.
● More clearly, it is “HIDING” the details of how the data is stored and maintained.

REMEMBER that a BD
● organized collection of information.
● So that a computer program can quickly select chunks of data it needs

ARCHITECTURE ANSI/X3/SPARC

Standard Abstract Design for(DBMS) —1975


IT IS NOT A FORMAL STANDARD
BUT MOST MODERN DB MANAGEMENT SYSTEMS ARE BASED ON THE.

DBMS:

1.HARDWARE—PHYSICAL DEVICES WHERE THE DB RESIDES.

2.SOFTWARE—-PROGRAMS AND ROUTINES, PERFORM TASK PROCESS/READ DATA/


DBMS—FOR SQL AND NOSQL. (FOR EITHER OF THE TWO THE SOFTWARE USES IT).

3.DATA–
● RELATIONAL (SQL)
● NON-RELATIONAL (NOSQL)
● BASIS ON WHICH THE NEEDS OF INFORMATION HANDLING, OPERATION AND
PROCESSING ARE BASED.

4.STAFF:

● NON-COMPUTER TECHNOLOGY—NEED THE INFORMATION.


● COMPUTING —- DESIGN/MAINTENANCE OF THE BD
SYSTEM/ PACKAGE OF ASSOCIATED PROGRAMS.
● ADMON OF BD.
● ANALYSTS.
● PROGRAMMERS (DEVELOPER).
Based on this, we can talk about the levels of abstraction under which a database is viewed.

CRUD

Create INSERTE

Read SELECT

Update UPDATE

Delete DELETE

1 Physical Level (External Level)


● It defines how the data is viewed by the users or applications that access the database
● The external level includes the schema, which is a description of the data that is relevant to a
specific user or application.
● The external level is designed to provide a level of abstraction that shields the users or
applications from the complexities of the underlying database.

2. Conceptual Level (Logical Level)

Define:
● entities.
● relations.
● attributes.
● integrity constraints.
The conceptual level, also known as the logical level, is the level of abstraction that defines the overall
structure of the database.
The conceptual level includes the data model, which is a representation of the data that is independent of
any specific database management system.

3. Physical Level (Internal Level)

● The internal level, also known as the physical level, is the level of abstraction that defines how the
data is physically stored and organized in the database.
● It includes the details of how the data is stored on disk, the access methods used to retrieve the
data, and the algorithms used to perform operations on the data.
● the access methods used to retrieve the data, and the algorithms used to perform operations on
the data.
● The internal level is designed to provide a low-level view of the database that is optimized for
performance and efficiency

3.Conduct an investigation of the characteristics of the following database management systems:


Oracle, DB2, PostgreSQL, Microsoft SQL server, MongoDB, Casandra.

Oracle Database:

Data Model: Relational.

● Featured Features:
● Wide range of functions and capabilities.
● Support for stored procedures, triggers and functions.
● High availability and scalability.
● Support for table partitioning.
● Advanced management tools such as Oracle Enterprise Manager (OEM).

IBM Db2:

Data Model: Relational.

Featured Features:

● High availability and reliability.


● Automatic query optimization.
● Support for multiple platforms and operating systems.
● Efficient resource and storage management.

PostgreSQL:

Data Model: Relational.

Featured Features:

● Free and open source.


● Extensibility through functions and stored procedures.
● Support for custom data types.
● Powerful extension and contributions system.
● Support for table replication and partitioning.

Microsoft SQL Server:

Data Model: Relational.

Featured Features:

● Tight integration with the Microsoft ecosystem.


● Robust development and administration tools (SQL Server Management Studio).
● Support for stored procedures, functions and triggers.
● Integrated reporting and analysis service.

MongoDB:

Data Model: Non-relational (document-oriented).

Featured Features:

● Data storage in BSON (binary JSON) format.


● Flexible and dynamic scheme.
● Easy horizontal scalability through sharding.
● Support for secondary indexes and complex queries.
● High reading and writing speed.

Apache Cassandra:

Data Model: Non-relational (column-oriented).

Featured Features:

● Designed for horizontal scalability and performance.


● High availability and fault tolerance.
● Column-based data model.
● Decentralized distribution without a single point of failure.
● Used for distributed systems and big data environments.

4. Define the following concepts and present examples of each:

Board:

Definition: In relational databases, a table is a structure that organizes data into rows and
columns. Each row represents an individual entry (tuple), and each column represents a specific
attribute.

Example: A "Customers" table can have columns like "Customer_ID", "Name", "Email_mail", etc.

Tuple:

Definition: A tuple is a single row in a table. It contains related data and represents a specific
entity in the database.

Example: In the "Customers" table, a tuple could be a single record that contains the information
for a specific customer.

N-tuple:

Definition: An n-tuple is a generalization of the tuple, which can contain a variable number of
elements. For example, a pair has two elements, a triple has three, and so on.

Example: A triple in a table that stores information about orders could have the fields "Order_ID",
"Date", "Customer".

Relationship:

Definition: In the context of relational databases, a relationship refers to a specific table with a
unique name. Each relation has a set of tuples that share the same structure.

Example: The table "Employees" is a relationship in a database.

Attribute:

Definition: An attribute is a column in a table that represents a specific characteristic of the data
stored in that table.

Example: In a "Products" table, attributes can include "Product_ID", "Name", "Price", etc.

Domain:

Definition: Domain refers to the set of values ​allowed for a specific attribute in a table.
Example: The domain of the attribute "Age" could be the set of positive integers.

Atomic Domain:

Definition: An atomic domain refers to a domain that contains indivisible or non-decomposable


values.

Example: The atomic domain of an attribute "Name" could be the set of text strings.

Database Schema:

Definition: The database schema defines the structure and organization of the database,
including tables, relationships, primary keys, foreign keys, etc.

Example: A “University” database schema can include tables such as “Students,” “Teachers,” and
“Courses.”

DataBase Instance:

Definition: Database instance refers to a specific set of data stored in the database at a given
time.

Example: An instance of the "Sales" database could include all transactions recorded up to the
current date.

Superkey:

Definition: A superkey is a set of one or more attributes that, taken together, can uniquely identify
a tuple in a table.

Example: In a "Customers" table, a superkey could be the combination of "Customer_ID" and


"Email_Mail".

Candidate Keys:

Definition: They are minimal subsets of superkeys that can still uniquely identify all tuples in a
table.

Example: In an "Employees" table, "Employee_ID" and "Social_Security_Number" could be key


candidates.

Primary Key:

Definition: A primary key is a key candidate selected as the primary key of the table. It
guarantees uniqueness and is used to establish relationships with other tables.

Example: "Product_ID" as a primary key in a "Products" table.

Foreign Key:

Definition: A foreign key is an attribute in one table that refers to the primary key in another table,
thus establishing a relationship between the two.

Example: In an "Orders" table, the foreign key could be "Customer_ID" which refers to the
primary key "Customer_ID" in the "Customers" table.

Operation:

Definition: In the context of databases, an operation refers to an action that is performed on


stored data, such as querying, inserting, updating, or deleting records.
Example: The query operation to select all customers with a balance greater than a certain
amount.

Join:

Definition: An operation that combines rows from two or more tables based on a specified
condition, creating a new result set.

Example: Join the "Customers" and "Orders" tables to obtain information about which customers
placed orders.

You might also like