Unit 4-7
Unit 4-7
Software Development
and Maintenance
Dr M Sadish Sendil
UNIT 4
COURSE CODE COURSE TITLE L T P C
Preamble:
This course provides basic concepts about SDLC, Unix commands and shell operations, Object Oriented Programming,
JavaScript technologies to create the interactive client-side design of web applications.
This course introduces DBMS concepts, to share a common set of models, design paradigms via a Structured Query Language
(SQL).
More specifically, this course also deals with UI/UX concepts to develop a pleasant user interface and deploy the application
using Cloud AWS services
Course Objectives
Learners are exposed to:
• Make use of basic SDLC, Unix Commands.
• Practice Java basic constructs for real world problems.
• Build efficient client-side validation using javascript.
• Acquire knowledge on basic SQL queries and designing database schema
• Learn and build the workflow of UI/UX
• Deploy the application on AWS cloud
Course Outcomes
Upon the successful completion of the course, students will be able to:
2. Data Analyst:
•Tasks:
• Collecting, cleaning, and preparing data for analysis
• Using SQL and other tools to query and manipulate data
• Identifying patterns, trends, and anomalies in data
• Creating visualizations and reports to communicate findings
DBMS Roles Job Related tasks
3. Data Engineer:
•Tasks:
• Designing and building data pipelines and architectures
• Integrating data from various sources
• Optimizing data storage and retrieval
• Developing ETL (Extract, Transform, Load) processes
• Implementing data warehousing and data lakes
4. Data Scientist:
•Tasks:
• Applying statistical and machine learning techniques to data
• Building predictive models and algorithms
• Developing data-driven solutions to business problems
• Analyzing complex datasets to extract insights
5. Database Developer:
•Tasks:
• Designing and creating database schemas
• Writing SQL queries and stored procedures
• Developing database applications and interfaces
• Integrating databases with other systems
DBMS Roles Job Related tasks
6. Data Architect:
•Tasks:
• Designing high-level data architectures and strategies
• Aligning data with business objectives
• Ensuring data quality and consistency
• Overseeing data governance and compliance
7. Data Governance Officer:
•Tasks:
• Developing and implementing data governance policies and standards
• Ensuring data quality and integrity
• Managing data access and security
• Resolving data disputes and conflicts
MySQL
MySQL Workbench is a unified visual tool for database architects, developers, and DBAs.
MySQL Workbench provides data modeling, SQL development, and comprehensive
administration tools for server configuration, user administration, backup, and much more.
MySQL Workbench is available on Windows, Linux and Mac OS X
Creating a Database:
Open MySQL Workbench and connect to your MySQL server.
Right-click on the Schemas folder in the navigation pane.
Select Create Schema.
Enter a name for your new database (e.g., my_database).
Click Apply
Creating Tables:
Right-click on your newly created database in the navigation pane.
Select Create Table.
Define the table's columns:
Enter a column name.
Choose a data type (e.g., INT, VARCHAR, DATE).
Specify any constraints (e.g., PRIMARY KEY, NOT NULL, UNIQUE).
Click Apply.
Inserting Data:
Right-click on your table in the navigation pane.
Select Insert Rows.
Enter values for each column in the table.
Click Apply.
Querying Data:
Use SQL queries in the Workbench editor to retrieve, update, or delete
data.
Common SQL commands include:
SELECT: Retrieve data from a table.
INSERT: Insert new data into a table.
UPDATE: Modify existing data in a table.
DELETE: Remove data from a table.
Managing Relationships:
If your database has relationships between tables (e.g., one-to-many,
many-to-many), you can define them in Workbench using the EER
Diagram editor.
This helps visualize and manage the relationships between tables.
Additional Features:
MySQL Workbench offers many additional features, including:
Data modeling and visualization.
SQL code generation and optimization.
Database administration tasks.
Integration with other tools (e.g., version control).
Unit 4 Database Fundamentals: RDBMS, SQL
DBMS: History of Data and its definition - Various formats to recognize
databases - DBMS through MySQL Workbench - DBMS Types and its
features - Requirements of DBMS - Roles, job-related tasks.
RDBMS: Introduction and its uses - popular RDBMS and their uses - Oracle
RDBMS versions and features - SQL Server RDBMS, history and its features
- MySQL RDBMS, history and its features - MySQL Workbench -
Normalization - E.F. Codd.
SQL: Introduction - Connectivity - Reserved words - Data Types – SQL
Commands: DDL - Alter tables - drop and truncate - table constraints -
constraint violation
RDBMS
Relational Database Management Systems (RDBMS)
An RDBMS is a type of database management system (DBMS) that stores
data in a structured format, using tables that are related to each other
through columns. 1 It's designed to handle complex relationships between
data elements efficiently.
Uses of RDBMS:
RDBMS are widely used in various applications and industries due to their
ability to handle complex data relationships and ensure data integrity.
Some common use cases include
Enterprise Resource Planning (ERP): Managing business processes, including finance, human
resources, and supply chain.
Customer Relationship Management (CRM): Tracking customer interactions, sales, and
marketing campaigns.
Supply Chain Management (SCM): Managing the flow of goods and services from suppliers to
customers.
Banking and Finance: Handling transactions, customer accounts, and financial reporting.
E-commerce: Managing product catalogs, orders, and customer information.
Healthcare: Storing patient records, medical history, and billing information.
Government: Managing public records, census data, and administrative systems.
Research and Analytics: Storing and analyzing large datasets for research purposes.
RDBMS and its uses
1. MySQL
•Use cases: Web applications, small-to-medium-sized businesses, and open-source projects.
•Advantages: Free, open-source, easy to use, and has a large community.
•Disadvantages: May not be suitable for extremely large or complex databases.
2. Oracle Database
•Use cases: Enterprise-level applications, banking, finance, and telecommunications.
•Advantages: Robust, scalable, and offers advanced features like data warehousing and data mining.
•Disadvantages: Can be expensive, and the learning curve can be steep.
5. MariaDB
Use cases: Similar to MySQL, but with a focus on performance and compatibility.
Advantages: Open-source, fast, and highly compatible with MySQL.
Disadvantages: May not have as extensive a community as MySQL.
6. SQLite
Use cases: Small applications, embedded systems, and mobile devices.
Advantages: Lightweight, self-contained, and easy to use.
Disadvantages: May not be suitable for large or complex databases.
7. IBM DB2
Use cases: Enterprise-level applications, mainframe systems, and data warehousing.
Advantages: Highly scalable, reliable, and offers advanced features like data replication and partitioning.
Disadvantages: Can be expensive and complex to manage.
8. Sybase ASE
Use cases: Enterprise-level applications, data warehousing, and online transaction processing (OLTP).
Advantages: High performance, reliability, and support for large databases.
Disadvantages: Can be expensive and complex to manage
Oracle RDBMS Versions and Features
Oracle Database, one of the most popular RDBMS, has a long history and
has evolved significantly over time. Each version introduces new features
and enhancements to improve performance, scalability, and functionality.
Here are some key versions and their notable features
Oracle Database 11g (11.2)
Features:
Pluggable databases (PDBs) for greater isolation and management
Automatic Storage Management (ASM) for simplified storage management
Real Application Clusters (RAC) for high availability and scalability
Data Guard for disaster recovery and data replication
A Brief History
1989: SQL Server 1.0 was released, initially designed for the OS/2 operating system.
1995: SQL Server 7.0 introduced a major overhaul, including support for clustering and replication.
2005: SQL Server 2005 marked a significant milestone with features like data mining, reporting
services, and integration with the .NET Framework.
2012: SQL Server 2012 introduced columnstore indexes for analytical workloads and AlwaysOn
availability groups for high availability and disaster recovery.
2019: SQL Server 2019 brought new features like big data support, machine learning services, and
enhanced performance
SQL Server RDBMS
Common Use Cases for SQL Server RDBMS:
Enterprise Applications: SQL Server is widely used in enterprise
applications, such as ERP (Enterprise Resource Planning), CRM
(Customer Relationship Management), and SCM (Supply Chain
Management).
Web Applications: SQL Server is a popular choice for powering
web applications, storing user data, product information, and
session data.
Data Warehousing and Business Intelligence: SQL Server can be
used to build data warehouses and support business intelligence
(BI) initiatives.
Reporting and Analytics: SQL Server provides tools for creating
reports, analyzing data, and generating insights.
Machine Learning: SQL Server integrates with machine learning
MySQL RDBMS
In 2005, MySQL AB was acquired by Sun Microsystems, which later became part of Oracle
Corporation. Under Oracle's ownership, MySQL has continued to evolve and expand its
capabilities.
Key Features
MySQL offers a robust set of features that make it a versatile and widely used RDBMS:
Open-source: MySQL is freely available and distributed under the GNU General Public License (GPL),
making it accessible to a wide range of users and developers.
High performance: MySQL is known for its speed and efficiency, making it suitable for various
applications, including web development, e-commerce, and content management systems.
•Scalability: MySQL can handle large datasets and can be scaled to meet the growing demands of your
application.
•Reliability: MySQL is designed to be reliable and fault-tolerant, ensuring data integrity and availability
MySQL RDBMS
Compatibility: MySQL is compatible with the SQL standard, making it easy to migrate
existing databases or write portable SQL code.
Rich feature set: MySQL offers a wide range of features, including:
Storage engines: InnoDB, MyISAM, and others for different storage and performance
requirements.
Indexing: B-tree, full-text, and spatial indexes for efficient data retrieval.
Replication: Master-slave replication for high availability and data distribution.
Clustering: MySQL Cluster for high availability and scalability.
Security: User authentication, role-based access control, and encryption.
Transactions: ACID (Atomicity, Consistency, Isolation, Durability) support for reliable
data management
MySQL RDBMS
Customers:
Customer
Customer Name Customer Address
ID
1 Sendil 1234 Avadi
2 Sendil 1234 Avadi
2 Ganesan 5689 Morai
Now, the data is organized more efficiently and the redundancy is eliminated.
Choosing the right Normalization Form
913245678
5,
1 Sendil Tamilnadu India
884567890
1
763221548
2 Sendil Tamilnadu India
9
Converted in to First Normal Form (1NF):
685945613
3 Alavudeen Kerela India
1
STUD STUD STUD STUD STUD
ID Name Phone State Country
913245678
1 Sendil Tamilnadu India
5
884567890
2 Sendil Tamilnadu India
1
763221548
3 Sendil Tamilnadu India
9
685945613
Given Table:
Computer
1 102CS0012
Networks
Software
1 102GE10234
Engineering
2 102CS4578 Operating System
Converted in to 3Second Normal Form (2NF): Software
102GE10234
2NF tries to reduce the redundant data getting storedEngineering
in memory
STUD Course Course Code Course Name
ID Code Computer
102CS0012
Networks
1 102CS0012
Software
102GE10234
1 102GE10234 Engineering
2 102CS4578 Operating
102CS4578
System
3 102GE10234
Given Table: STUD STUD PINCOD STU STATE
STUD Country
ID Name E Name