BDII
BDII
TALLER I
ESTUDIANTE
DOCENTE
FACULTAD DE INGENIERÍAS
INGENIERÍA INFORMÁTICA
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.
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.
● 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
DBMS:
3.DATA–
● RELATIONAL (SQL)
● NON-RELATIONAL (NOSQL)
● BASIS ON WHICH THE NEEDS OF INFORMATION HANDLING, OPERATION AND
PROCESSING ARE BASED.
4.STAFF:
CRUD
Create INSERTE
Read SELECT
Update UPDATE
Delete DELETE
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.
● 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
Oracle Database:
● 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:
Featured Features:
PostgreSQL:
Featured Features:
Featured Features:
MongoDB:
Featured Features:
Apache Cassandra:
Featured Features:
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.
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:
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.
Candidate Keys:
Definition: They are minimal subsets of superkeys that can still uniquely identify all tuples in a
table.
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.
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:
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.