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.