A program depends on data to be properly stored and handled. The data
storage format selected must be appropriate for what the program intends to
do. Data can be stored as a file or a database - object-oriented, relational,
multidimensional. The selected data storage format needs to consider processing
efficiency to make the program as fast as possible while maintaining
reliability, security, and availability. A relational database is the most used
database. A relational database is a collection of tables, which each contains
a primary key, that can be related to each other using the primary key to
tie them together. Relational databases allow for referential integrity which
allows the database to ensure that the information is valid. Structured Query
Language (SQL) is the standard language for access the data.
NoSQL databases do not use the relational model or SQL. These can include
document-oriented databases, wide column stores, and graph databases. These
databases support high transaction rates and can store audio, video, and image
files which do not fit well into a relational structure. System, language and
databases are very important when putting together information systems. The
data base is going to be where all the information that the code is creating
is going to be stored in. The language is going to be what combination
of characters are used in order to retrieve the information. Have a good
understanding of databases is good for being able to troubleshoot errors of
food, and the proper way of maneuvering around effectively. Program design
and data storage design work hand in hand to ensure efficient and effective
system development. Program design can be understood as the blueprint for
a software application responsible for things such as functionalities, algorithms
and interactions. Data design is responsible for the organization and storage
needed from the software. Accessing information is important and program
design has to work around data storage design to make sure accessing
information is quick. Program design propels data storage design. The design
of the program will decide the types of data to be stored, their relationships,
and access patterns. This will also sway the data storage design decisions
like the choice of database model. On the other hand data storage design
determines program design. The chosen data storage design affects the program
design in terms of data retrieval, manipulation, and storage operations. The
program has to be compatible with the chosen data storage solution
efficiently.When comparing two types of databases I think it is a good idea
to consider relational databases (SQL) and NoSQL databases. Relational
databases use a structured schema to organize data into tables with predefined
relationships. They provide efficient data consistency and support powerful
querying capabilities through SQL. Relational databases are suitable for
applications with well-defined schema. An examples would be banks. NoSQL
databases are designed for handling large volumes of unstructured/semi-structured
data. They offer flexible schemas and horizontal scalability. NoSQL databases
come in different types such as key-value stores (Redis), document databases
(MongoDB), etc. NoSQL databases are commonly used in applications requiring
high performance, scalability, and real-time data processing, such as Instagram.
To begin, program design and data storage design are closely related and
dependent on each other. Program design determines the structure and
functionality of the software, while data storage design determines how the
data is organized and stored within the software. The data storage design
will depend on the program design due to the fact that the design of the
program will affect its size, accessibility and change how the data is kept
in the program. Because of this the data storage will be significantly
impacted by the architecture of the project. The two types of databases I
will be getting into are single-file or file database.
and multi-file or structured database. Single-file database cross-platform and
can be accessed on any machine. You would use file databases in the
event of storing the username and password, entities and attributes, contact
details and product details. You would use a structured database in scenarios
where there is need to store the known structured data which posses a
finite individual or a finite application that are accessing the database.
Program design and data storage design are closely interrelated in the context
of database systems. Program design involves designing the software
applications that interact with the database, while data storage design focuses
on designing the underlying structures and mechanisms for storing and
retrieving data efficiently. The relationship and dependencies between the two
can be summarized as follows:
1. Data Access and Manipulation: Program design heavily depends on the
data storage design to efficiently access and manipulate data. The
structure and organization of the database affect the design of the
program's queries, transactions, and data manipulation operations.
2. Performance: The program design and data storage design impact the
performance of the system. The efficiency of the data storage design,
such as indexing strategies, partitioning, and caching mechanisms, can
influence the performance of program operations that rely on data
retrieval and updates.
3. Data Integrity and Constraints: Program design and data storage design
collaborate to enforce data integrity and constraints. The program design
defines the logic and rules for data validation and enforcement, while
the data storage design implements mechanisms like primary keys,
foreign keys, and constraints to ensure consistency and integrity.
4. Scalability: Program design and data storage design play a vital role
in achieving scalability. The program design should be scalable to
handle increased user load and changing requirements, while the data
storage design should support efficient data distribution, replication, and
partitioning to scale horizontally or vertically.
Now let's compare and contrast two types of databases: relational databases
and NoSQL databases.
1. Relational Databases:
2. Relational databases store data in structured tables with predefined
schemas. They use SQL (Structured Query Language) for querying and
manipulating data. Relational databases are known for their strong data
consistency, ACID (Atomicity, Consistency, Isolation, Durability) properties,
and support for complex relationships between entities. They are suitable
for applications that require data integrity, transactional consistency, and
complex queries. Examples of use cases include:
• Banking systems: Relational databases ensure the accuracy and
consistency of financial transactions, enforce constraints, and support
complex queries for generating reports and analytics.
• Enterprise resource planning (ERP) systems: Relational databases provide
a structured approach to manage various business processes, such as
inventory, sales, and human resources.
1. NoSQL Databases:
2. NoSQL databases are designed to handle unstructured and semi-structured
data. They offer flexible schemas, horizontal scalability, and high
availability. NoSQL databases do not rely on fixed table structures and
support various data models like key-value, document, columnar, and
graph. They are suitable for applications that require massive scalability,
high write throughput, and schema flexibility. Examples of use cases
include:
• Social media platforms: NoSQL databases can handle high volumes of
user-generated data, such as posts, comments, and likes, with ease.
They provide horizontal scalability to accommodate millions of users.
• Internet of Things (IoT) applications: NoSQL databases can handle
diverse and unstructured data generated by IoT devices, such as sensor
readings, logs, and geospatial data, efficiently.
In summary, the choice between relational and NoSQL databases depends on
factors such as data structure, consistency requirements, scalability needs, and
the nature of the application. Relational databases are well-suited for structured
data and applications that require data integrity and complex queries. NoSQL
databases excel in handling unstructured data and providing horizontal scalability
for applications with high volumes of data and varying schemas.
Relationships and conditions are how a component uses or depends on other
components.
Level 2 - Relationships and dependencies between program and information
storage design
Information storage configuration is based on the program schedule. This is
especially evident in the way program organization affects the size and how
it is achieved, and thus how information storage is performed in the program.
Information storage is therefore heavily influenced by program planning.
Different information stores are created for each exceptional piece of primary
information. This shows that it is possible to adjust the program's
programming schedule. One model is the different information storage of DAS
and NAS, leading to contrasting program plans.
types of information bases
There are two types of information databases -
1) Single record or document information database -
Records of this type are user names and secret phrases, items and properties,
contact details, and when deleting item details used for
2) Multi-Record or Structured Record -
This type of record is used in situations where it is necessary to store
organized information that is expected to be reached by a limited number
of people or applications.
Databases and data storage are an integral part of systems development,
deciding on which database and data format to use will dictate how
efficiently the system will operate. It is important to choose the correct
database when designing the system, or the user experience might be
diminished and the system will be a failure. Relational databases are the
well known and structured query language, or SQL, is used to access the
data stored. Other types of databases include, legacy database, object-oriented
database, and NoSQL database, just to name a few. They each are used in
a scenario to maximize the efficiency of how the data is accessed, and
each has disadvantages and advantages, that should be taken into consideration.
For example, object-oriented is best used when supporting audio and video
data types. Netflix and other over the top streaming services can utilize this
type of database, since their systems encompass complex audio and video
and many of them use object-oriented programming. However, these type of
databases can cost much more than other types of databases, and they are
not widely accepted. NoSQL databases are used with big data. Many
companies utilize this big data in order to compile data so that they can
use that data for marketing and other research. Grocery store bonus programs
entice people to sign up for their programs, so that they can collect data
from the consumers so that they can track shopping data. It is important
to read privacy policies in order to know how companies use the data that
we give them access to. Program design and data storage design are not
unlike symbiotic lifeforms; as they need each other to work. The program
design phase directly affects the data storage design and vice versa because
of the way it'll all work in the end. Your end-users will use the program
to access and manipulate the data [storage] when the project is completed,
so it is essential these two design phases are coordinated. The type of data
storage design will depend greatly on the type of program being developed
and for what industry/project it's being developed for. Relational databases are
most common with their management systems being terms we've heard like
SQL. They tend to be used for a lot of banking and general business
management systems. There are other types of databases that are not relational
such as NoSQL as well, these generally are utilized in systems that deal
with a large volume of unstructured data and have far more flexibility.
These tend to also be a lot more scalable in design and work well in
cloud computing. Program design and Data design work closely together and
need each other with the development of systems. The logical design of the
program can directly influence the design of data storage. Data storage design
provides the necessary infrastructure components to store and retrieve data
required by the program. It ensures that the data is organized and accessible
based on the programs needs. The dependencies and requirements of the
program can also influence the design of the data storage. A relational
database organizes data into tables. They use a structured query language
(SQL) for manipulating and querying data. They establish relationships between
tables using keys. Thes are databases are for example My Sql and Orale.
No SQL databases or Non -relational databases are designed to handle large
volumes of unstructured data. They have flexible schema designs allowing for
scalable storage and often used in cloud computing environments. Program
design and data storage design is a big part of the design phase in the
SDLC life cycle. The program design is the layout of the program before
it is actually coded in a chosen coding language. If done correctly it'll
make the life of the program longer. The data storage design establishes the
data storage format. It shows how data is managed and stored. Multimedia
database is a data base that stores multimedia such as audio, videos, and
images. This database can be used in many things. You can use it in
creating a webpage. Although there may be I have not seen any websites
without images. You could also use them in video games which contains
all audio, video, and images. Another database is the NoSQL database. This
database is for storing and retrieving data. NoSQL databases are typically
faster when storing and retrieving information and are considered more flexible.
What I would use this database for is customer tracking, online shopping,
and big data. I can't cover all of what these two databases can do or
are capable of but that's the basics. Program Design models explains how
your organization defines
• Value proposition: how your organization distinguishes itself from the
competition zz
• Products and services: what your organization offers, how those
offerings work, and why your prospects need them
• Impact: the measurable change your organization expects to make zz zz
• Partners and customers: who your organization seeks to collaborate
with and serve z
• Talent: who and how your organization recruits team members
• Resources: the tools and connections your organization needs to succeed
and how you will acquire and maintain them
• Revenue: how your organization will financially sustain and grow its
efforts
Data storage Design is how data storage and handling by programs running
the system takes place.
The main steps of data storage design are to:
• Select the data storage format
• Convert the previously made logical data model into a physical data
model
• Ensure that the ERDs and DFDs balance
• Design the selected data storage format to optimize its processing
efficiency