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 tt
• 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 tt tt
• Partners and customers: who your organization seeks to collaborate with and
serve tt
• 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.