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. ss 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 ss
• 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 ss ss
• Partners and customers: who your organization seeks to collaborate
with and serve ss
• 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
Program and design work together when gathering and storing data. The
dependence between the two has to do with the program design meeting
conditions of data design in order to keep them working in sync. The
program design can have a direct impact on the data storage design since
the architecture of the program will affect its size and how it is accessed,
thus changing how the data is stored in the program. Varied data stores are
created for each different structural data, indicating that the program design
will change. An example of two types of database storage is direct-attached
storage (DAS) and Network accessed storage (NAS), which create variations in
the program design. DAS “is a digital storage system directly attached to a
host computer accessing it. Examples of DAS include:
• Internal hard drives and SSDs
• External hard drives and SSDs
• CDs
• USB flash drives” (Ciphertex, 2021).
NAS “refers to a self-contained storage system that’s attached to a local area
network (LAN) or a wide area network (WAN). All devices connected to the
network can be granted access by the network administrator to the data stored
on the NAS system. It comprises portable NAS servers and network
management software that permits different users to log in to the storage
system.” Two forms of databases are single-file and structured. A single file
database is used to store things like username and password, contact and
product details. A structured or multi-filed database is used to store the
unpredictable and unstructured data which posses a finite individual or a finite
application that is accessing the database. Data storage designs are incorporated
into program design, which also decides how data should be kept and the
ideal storage format for each sort of data. Program design and program
requirements serve as the foundation for data storage design. The type of
software, as well as the program's demands for speed and security, must all
be considered in the data storage architecture. The relationship between the
program design and data storage design is that they both have to work
simultaneously for the retrieval and saving of data. As far as dependencies,
the program design has to meet the given condition of the data storage
design to work out in a unison and the program design is responsible for
querying and saving the data in the data storage.The 2 types of databases I
would like to discuss is the relational and non-relational databases. The
differences between the two is that the relational databases store data in rows
and columns, similar to a spreadsheet, whereas non-relational databases do not.
Applications that require data to be structured in tables, such accounting
systems, use these databases. It's important to take your application's kind into
account when choosing the sort of database to utilize. Relational databases
work best for applications like accounting systems that need data to be kept
in tables. Applications like document stores and web apps that don't need the
data to be structured in tables should use non-relational databases. The
relationship between program design and data storage design is that they work
together to make a functional system efficient for the user. Program designs
are instructions developed in programming languages that automate, collect,
manage, calculate, and analyze the processing of data and information
accurately. There are three broad areas of activities: understanding the program,
using design tools to create a model, and developing test data. On the other
hand,
data storage designs process information and stores files or folders by computer
decoded into a form that is efficient for movement or processing and can
be in the form of text, documents, images, audio, or clips. Programs are
used to speed up input and output processes in a machine. While data is
used to establish a baseline and help one to visualize the relationship among
the different locations, departments, and systems.
Types of databases:
Cloud Database is a hosting solution given by a third-party provider. It is a
pay-as-you-go solution minimalizing initial investments needed to acquire data
space while expanding as more resources are required.
On-premises database is an in-house database. Therefore, all the software,
infrastructure, and administration needed for support is local.
Between the two, my choice would be the on-premises database because of
the security and control. In addition, it's best for storing sensitive information
since it's in-house. The user is in control of the information providing levels
of regulations and privacy. The relationship between program design and data
storage design is highly interconnected, with each impacting the other
significantly. Program design determines the software application's structure and
logic, including data manipulation. Data storage design focuses on efficient
organization and storage, ensuring accessibility and integrity.
Relational databases (e.g., MySQL, PostgreSQL) arrange data into tables with
predefined schemas, supporting complex relationships. They excel in scenarios
requiring data integrity, like financial systems or e-commerce platforms. NoSQL
databases (e.g., MongoDB, Cassandra) offer a flexible schema-less approach,
facilitating fast storage of unstructured data. They suit high-performance
applications with evolving schemas, such as social media platforms or real-time
analytics.For instance, an online marketplace may rely on a relational database
to ensure consistent product inventory and orders. Conversely, a social media
platform handling vast user-generated content may choose a NoSQL database
for scalability and accommodating dynamic schemas. In summary, the choice
between database types hinges on application requirements. Relational databases
ensure integrity for structured data, while NoSQL databases offer scalability
and flexibility for unstructured or rapidly changing data in high-performance
scenarios. The relationship between program design and data storage design is
like how we fly in the airport. In the airport we have planes, gates,
passengers, and security that allow us to safely travel to our destination. The
whole airport is the program design that tells us where to go and when to
go. The planes are the tables that stores a common trait of data or in this
case where is the plane going. They both are needed to make the whole
airport function properly and people are in the correct flight. The airport also
needs to guide other planes that are arriving to a correct place and also
needs to guide the plane that are departing to correct location. With all that
in mind, the airport those have a temporary place for passengers to be stored
till their plane arrives and sends them off to another airport where they can
arrived at their correct location. Just like the airports the program design also
have security built to make sure all the passengers have ID and that they
are safe passengers to make the travel. Hopefully I made sense in this
comparison.They are several types of database out there but SQL and NoSQL
is the most common database that people use for their projects. SQL organize
data into tables with predefine relationship between them. where as NoSQL is
unstructured database where it does not need table to be stores. It is useful
for fast growing data and rapidly changing data also. Really difference in
program designing and then data storage design is really how information may
be handled. as if lets say I wanted to design a data storage facility to just
be one big dependency, it would work out great as it would provide a lot
of failsafe’s for a company trying to keep documents in the event of a
disaster. This being that your network will go down and then you will be
left without the information needed to perform the job or documents. This is
where let’s say you have 30 locations, but now there is 30 copies of the
same file across the whole network making it hard for one to go down and
not one to have it.
Program design is more of the physical appearance of the program for the
end user and how it is designed internally to run while in use. This is the
back end developing of the program and the physical feel of the program
to the user. This makes or breaks a website, app, game, company. If you
do not have any of the right program designs in place, it could be the
collapse of a business, game, or app. This is a fundamental piece whether
technilogical or analytically speaking.
However, these two may have differences, they are both very similar, as they
both contribute to the same aspect, you cannot really run and deploy an app
nowadays without a homestation in which you can provide updates to said
app, and if you do not have a data storage "center" then in reality, you
cannot run a program effectively for a profit. Looking at the program design,
it is something that makes a company look good, whether it be promoting
the company itself, or integrated within to their technological programs. Data
storage design is the first simple activity that is less complex, modular, and
efficient program structures that is the design activities are listed in entity-
relationship diagrams where the information is stored. These diagrams are used
to show the relation between the various component of the database. n the
other hand, program design shows how data will be how the organization
will develop the program itself. This involves several stages that are the
research, consultation, initial designs, testing, and redesigning. In terms of
relationship between program design and data storage design is that for the
data storage to be accessed on they both must work simultaneously for the
retrieval and saving of the data. In terms of dependencies the program design
must meet the given condition of the data storage design to work out in a
unison and the program design is responsible for querying and saving the
data in the data storage.The two types of databases are relation and non-
relation databases. In relation database data is stored in an organized way in
tables according to how it relates to each other while in the non-relation
database data is stored in a non-tabular way that is database will use different
ways for managing, accessing, and storing the data. According to security one
prefers to use the relation database since the non-relation has weak security
which may concern the large scope of data in the database. Hence one
prefers to use the relation for security purposes. The other reason is the type
of data to be stored in the database to be chosen this is concerned with
an example in a school where student information is stored in a database.
To ensure that it will enhance the easier search of data the staff will choose
to take the relation. Since the student information is grouped in a similar
way hence easier to search. The relationship between program design and data
storage design is crucial in developing efficient and functional software systems.
The critical aspects of the program design dependencies include the data model,
data integrity, and performance considerations. The program design heavily
depends on the data model used for storing data. Program design also depends
on data storage design to ensure data integrity. The program design needs to
consider the performance characteristics of the underlying data storage
design.Data storage dependencies on program design are Data structures, Data
access and manipulation, and Security and privacy. The data storage design
relies on the program design to determine the required data structures for
efficient data storage. The program design determines the ways data will be
accessed, queried, and modified. The data storage design needs to accommodate
these requirements by providing appropriate access methods, APIs, and query
interfaces that align with its needs. Two types of databases are relational and
NoSQL. Relational databases are based on the relational model and use
structured query language (SQL) for data management. They organize data into
tables with rows, columns, and relationships using keys. Relational databases
commonly store product catalogs, customer information, and order history.
Banking systems also use relational databases. NoSQL, which is “not only
SQL” is designed for handling larger-scale, unstructured data. They offer flexible
schemas and horizontal scalability. NoSQL databases are commonly used for
storing and processing large volumes of unstructured data, such as social media
feeds, or log files. Program design and data storage design are closely
interconnected in building an efficient and functional system. Program design
focuses on creating the logic and structure of software applications, while data
storage design concerns the organization, storage, and retrieval of data within
the system.
The relationship between program design and data storage design lies in the
fact that the program design dictates how data is processed, manipulated, and
utilized within the application. The program design determines the data
structures, algorithms, and operations required, which in turn influence the
design of the data storage system. Conversely, the data storage design
influences the program design by providing the necessary structures and
mechanisms to store and access the data efficiently.
When it comes to comparing and contrasting two types of databases, let's
consider Relational Databases (RDBMS) and NoSQL databases.
Relational databases, such as MySQL and PostgreSQL, organize data into tables
with predefined schemas, enforce data integrity through constraints, and support
powerful querying capabilities using structured query language (SQL). They are
suitable for applications that require strict data consistency and complex
relationships, such as financial systems or inventory management systems.
On the other hand, NoSQL databases, like MongoDB and Cassandra, provide
a flexible, schema-less data model, allowing for easy scalability and handling
of large volumes of unstructured or semi-structured data. They excel in
scenarios where data variability and high-speed data ingestion are crucial, such
as real-time analytics, content management systems, or social media platforms.
The choice between the two types of databases depends on the specific
requirements of the application. For instance, if you need to maintain strong
data consistency and have complex relationships between entities, a relational
database is a suitable choice. In contrast, if you anticipate a need for
horizontal scalability, flexibility in data schema, or handling large volumes of
unstructured data, a NoSQL database would be more appropriate.
For example, an e-commerce website that needs to store and manage product
catalogs, customer orders, and inventory levels with complex relationships would
benefit from a relational database. On the other hand, a social media platform
that deals with high-velocity data streams, user-generated content, and requires
flexible schema to accommodate changing data structures would find a NoSQL
database like MongoDB more suitable. A dependency is a constraint that
applies to or defines the relationship between attributes. It occurs in a database
when information stored in the same table uniquely determines other data.
You can also describe this as a relationship were knowing the value of one
attribute (or a set of facts) is enough to tell you the value of another
feature (or group of attributes) in the same table. Database dependencies often
need to be clarified for students and database professionals. Fortunately, they
are not as complicated as they may seem. For example, a complete functional
dependency occurs when you already meet the requirements for a functional
dependency, and the set of attributes on the left side of the functional
dependency statement cannot be reduced any further. For example, {SSN, age}
name is a functional dependency. Still, it is not a full functional dependency
because you can remove age from the left side of the statement without
impacting the dependency relationship. so, Database dependencies are important
to understand because they provide the basic building blocks used in database
normalization, the process of efficiently organizing data in a database. For a
table to be in second normal form (2NF), there must be no case of a
nonprime attribute in the table that is functionally dependent upon a subset
of a candidate key. Designing
Program design is a framework for building software or coding programs in
a specific language that helps to create software or applications. Creating such
a model requires a normalized database design that moves from the logical
to the physical process; the logical develops the technical set of rules and
data structures. The physical process is implementing the database, laying the
groundwork for incoming and outgoing data flows, and designing pathways
determining data storage. Both models represent the design layer for application
development. Furthermore, software design is vital in understanding the technical
and operational of the program and gathering information about the business
need, such as specific aspects of user and system interfaces, databases, and
networking.
Database
There are various types of databases, such as MySQL, Oracle, Postgre SQL,
and Sybase A database is a collection of data or information that can be
quickly accessed and managed into rows, columns, and tables, and indexing
help in finding relevant information.
Relational Database
A relational database storing data in rows (tuples) and columns (attributes)
uses SQL to manage and maintain data storage; this format allows to establish
a link between information. The attributes are primary keys that connect to
each tuple (row) that creates a relationship to each table using a foreign
key. (What is a relational database?, n.d.). Commonly seen for accounting
purposes, it is easy to use, flexible, and maintains the transaction's accuracy
before and after the transaction history database follows the ACID properties.
For example, when transferring funds between accounts. Account A has $500.00
and wants to move $100.00 to account B as a balance of $200.00; as each
transaction passes between each account, where database input and output follow
these properties
he data storage design will depend on the program design. This is especially
true owing to the fact that the program design will affect the size as well
as how to access it therefore affecting how the data is stored in the program.
Therefore, the data storage will be greatly affected by the program design.
For each unique structural data, there is the creation of different data store,
and this implies that there will be a change in the program design of the
program at hand an example is the different data storage in the DAS and
the NAS which causes differences in the program design.
Type of databases:
There are two forms of databases
• Single-file or file database
This type of database would be used in the event of storing the username
and password, entities and attributes, contact details, product details.
• Multi-file or Structured database
This type of database would be used in scenarios where there is a need to
store the predictable, structured data which possess a finite individual or a
finite application that are accessing the database. The design phase transition
from a logical to physical process were the analyst start to layout the
program and its data flow. This begins the creation of the relationships
between the program and database designs. The program design will consist
of the structure, its purpose, and what it is going to accomplish. The data
storage design will be how that software stores or interacts with that data
being processed. The program, either built in-house or procured, must take
into account how it will create, store, use, or change that data.
The reading this week discussed several database types that can be used for
this design, and the two I found most interesting are relational databases and
multidimensional databases. Relational databases are the most common I have
found in my workplace. This type of database uses tables, rows, and columns,
linked through keys using SQL queries to access the data. Use case would
be inventory, process, logging. An example could be a customized inventory
system, in our case we use Filmmaker Pro as part of our system to track
industrial control system equipment. This program interacts with SQL database
to house all the information. All the forms are custom made but everything
else is COTS and manually entered. The benefit is that it is an easy way
to represent and find that data. As for multidimensional databases, I find this
interesting because it is used for a data warehouse. Everything I have read
is that this seems to be Artificial Intelligence driven allowing online processing
to draw from dataset to present a conclusion on a question asked. Use cases
appear to be all consumers driven applications such as sales or social media.
A good example is Instagram application interacting with these datasets to
push content to the end user.