# data[].attributes.attachment_link.title
Assignment ITC3013 Dental Appointmnet System

# data[].attributes.attachment_link.readable_text
show databases;

create database store;

show databases;

use store;

create table product (
ProdCode char(3) not null,
ProdName varchar(30),
Price decimal(5,2),
Quantity int,
Primary key(ProdCode));

describe product;

create table customer(
CustID char(3) not null,
CustName varchar(30),
Contact varchar(10),
Primary key(CustID));

describe customer;

insert into product values ('P01','Pen',1.50,300),
('P02','Pencil',2.00,150),
('P03','A4 Paper', 12.00,200);

SELECT * FROM product;

insert into customer values ('C01','Aron', '0177809090'),('C02','Kasim','0188909090');

select * from customer;

# data[].attributes.body
https://drive.google.com/file/d/1IejbbTv9_xQG9PpnihVM5bHV7meu_xly/view?usp=sharing

# data[].attributes.headline
Chapter 1 - Intro To Database Management

# data[].attributes.subject
Chapter 1 - Intro To Database Management

# data[].attributes.attachment_link.title
Course Information ITC3013-Database Management & Administration 0824

# data[].attributes.body
Hi everyone..Assalamualaikum & greetings everyone.  I am Mdm. Jihadah Ahmad your lecturer.This is an additional online platform for Database Management & Administration class activities.  Our main platform will still be the UPTM LMS. I shall update the content weekly according to our class progress. I do hope you enjoy the class & best wishes

# data[].attributes.headline
Sales Data For Data Modelling in Power BI

# data[].attributes.subject
Sales Data For Data Modelling in Power BI

# data[].attributes.headline
Chapter 7 - Part 1 : Intro To Data warehouse

# data[].attributes.subject
Chapter 7 - Part 1 : Intro To Data warehouse

# data[].attributes.attachment_link.readable_text
What is OLAP?

Online Analytical Processing (OLAP) is a category of software that allows users to analyze information from multiple database systems at the same time. It is a technology that enables analysts to extract and view business data from different points of view.

Analysts frequently need to group, aggregate and join data. These OLAP operations in data mining are resource intensive. With OLAP data can be pre-calculated and pre-aggregated, making analysis faster.

OLAP databases are divided into one or more cubes. The cubes are designed in such a way that creating and viewing reports become easy. OLAP stands for Online Analytical Processing.

In this tutorial, you will learn-

OLAP cube:

At the core of the OLAP concept, is an OLAP Cube. The OLAP cube is a data structure optimized for very quick data analysis.

The OLAP Cube consists of numeric facts called measures which are categorized by dimensions. OLAP Cube is also called the hypercube.

Usually, data operations and analysis are performed using the simple spreadsheet, where data values are arranged in row and column format. This is ideal for two-dimensional data. However, OLAP contains multidimensional data, with data usually obtained from a different and unrelated source. Using a spreadsheet is not an optimal option. The cube can store and analyze multidimensional data in a logical and orderly manner.
How does it work?
A Data warehouse would extract information from multiple data sources and formats like text files, excel sheet, multimedia files, etc.

The extracted data is cleaned and transformed. Data is loaded into an OLAP server (or OLAP cube) where information is pre-calculated in advance for further analysis.

Basic analytical operations of OLAP

Four types of analytical OLAP operations are:
1) Roll-up:
Roll-up is also known as "consolidation" or "aggregation." The Roll-up operation can be performed in 2 ways

1. Reducing dimensions

2. Climbing up concept hierarchy. Concept hierarchy is a system of grouping things based on their order or level.

Consider the following diagram

In this example, cities New jersey and Lost Angles and rolled up into country USA

The sales figure of New Jersey and Los Angeles are 440 and 1560 respectively. They become 2000 after roll-up

In this aggregation process, data is location hierarchy moves up from city to the country.

In the roll-up process at least one or more dimensions need to be removed. In this example, Cities dimension is removed.

In drill-down data is fragmented into smaller parts. It is the opposite of the rollup process. It can be done via

Moving down the concept hierarchy

Increasing a dimension

Consider the diagram above

Quater Q1 is drilled down to months January, February, and March. Corresponding sales are also registers.

In this example, dimension months are added.

3) Slice:
Here, one dimension is selected, and a new sub-cube is created.

Following diagram explain how slice operation performed:

Dimension Time is Sliced with Q1 as the filter.

A new cube is created altogether.

Dice:
This operation is similar to a slice. The difference in dice is you select 2 or more dimensions that result in the creation of a sub-cube.
4) Pivot
In Pivot, you rotate the data axes to provide a substitute presentation of data.

In the following example, the pivot is based on item types.

Types of OLAP systems

OLAP Hierarchical Structure

Type of OLAP

Explanation

Desktop OLAP (DOLAP)
In Desktop OLAP, a user downloads a part of the data from the database locally, or on their desktop and analyze it.

DOLAP is relatively cheaper to deploy as it offers very few functionalities compares to other OLAP systems.

ROLAP

ROLAP works with data that exist in a relational database. Facts and dimension tables are stored as relational tables. It also allows multidimensional analysis of data and is the fastest growing OLAP.
Advantages of ROLAP model:

High data efficiency. It offers high data efficiency because query performance and access language are optimized particularly for the multidimensional data analysis.

Scalability. This type of OLAP system offers scalability for managing large volumes of data, and even when the data is steadily increasing.

Drawbacks of ROLAP model:

Demand for higher resources: ROLAP needs high utilization of manpower, software, and hardware resources.

Aggregately data limitations. ROLAP tools use SQL for all calculation of aggregate data. However, there are no set limits to the for handling computations.

Slow query performance. Query performance in this model is slow when compared with MOLAP

MOLAP

MOLAP uses array-based multidimensional storage engines to display multidimensional views of data. Basically, they use an OLAP cube.

Learn more about MOLAP here

Hybrid OLAP

Hybrid OLAP is a mixture of both ROLAP and MOLAP. It offers fast computation of MOLAP and higher scalability of ROLAP. HOLAP uses two databases.

1. Aggregated or computed data is stored in a multidimensional OLAP cube

2. Detailed information is stored in a relational database.

Benefits of Hybrid OLAP:

This kind of OLAP helps to economize the disk space, and it also remains compact which helps to avoid issues related to access speed and convenience.

Hybrid HOLAP's uses cube technology which allows faster performance for all types of data.

ROLAP are instantly updated and HOLAP users have access to this real-time instantly updated data. MOLAP brings cleaning and conversion of data thereby improving data relevance. This brings best of both worlds.

Drawbacks of Hybrid OLAP:

Greater complexity level: The major drawback in HOLAP systems is that it supports both ROLAP and MOLAP tools and applications. Thus, it is very complicated.

Potential overlaps: There are higher chances of overlapping especially into their functionalities.

Advantages of OLAP

OLAP is a platform for all type of business includes planning, budgeting, reporting, and analysis.

Information and calculations are consistent in an OLAP cube. This is a crucial benefit.

Quickly create and analyze "What if" scenarios

Easily search OLAP database for broad or specific terms.

OLAP provides the building blocks for business modeling tools, Data mining tools, performance reporting tools.

Allows users to do slice and dice cube data all by various dimensions, measures, and filters.

It is good for analyzing time series.

Finding some clusters and outliers is easy with OLAP.

It is a powerful visualization online analytical process system which provides faster response times

Disadvantages of OLAP

OLAP requires organizing data into a star or snowflake schema. These schemas are complicated to implement and administer

You cannot have large number of dimensions in a single OLAP cube

Transactional data cannot be accessed with OLAP system.

Any modification in an OLAP cube needs a full update of the cube. This is a time-consuming process

Summary:

OLAP in data warehouse is a technology that enables analysts to extract and view business data from different points of view.

At the core of the OLAP concept, is an OLAP Cube.

Various business applications and other data operations require the use of OLAP Cube.

There are primary five types of analytical OLAP operations in data warehouse: 1) Roll-up 2) Drill-down 3) Slice 4) Dice and 5) Pivot

Three types of widely used OLAP systems are MOLAP, ROLAP, and Hybrid OLAP.

Desktop OLAP, Web OLAP, and Mobile OLAP are some other types of OLAP systems.

# data[].attributes.attachment_link.title
What is OLAP? Cube, Analytical Operations in Data Warehouse

# data[].attributes.attachment_link.description
OLAP Operations: What is OLAP with Introduction, OLAP cube, Types of OLAP, ROLAP, MOLAP, Hybrid OLAP, Advantages and Disadvantages of OLAP.

# data[].attributes.headline
Chapter 7 :Tutorial on create user & grant privileges

# data[].attributes.subject
Chapter 7 :Tutorial on create user & grant privileges

# data[].attributes.body
credit to origin content owner

# data[].attributes.attachment_link.readable_text
MySQL is an open-source relational database management system. It is commonly deployed as part of the LAMP stack (which stands for Linux, Apache, MySQL, and PHP) and, as of this writing, is the most popular open-source database in the world.

This guide outlines how to create a new MySQL user and grant them the permissions needed to perform a variety of actions.

In order to follow along with this guide, you'll need access to a MySQL database. This guide assumes that this database is installed on a virtual private server running Ubuntu 20.04, though the principles it outlines should be applicable regardless of how you access your database.

If you don't have access to a MySQL database and would like to set one up yourself, you can follow one of our guides on How To Install MySQL. Again, regardless of your server's underlying operating system, the methods for creating a new MySQL user and granting them permissions will generally be the same.

You could alternatively spin up a MySQL database managed by a cloud provider. For details on how to spin up a DigitalOcean Managed Database, see our product documentation.

Please note that any portions of example commands that you need to change or customize will be highlighted throughout this guide.

Upon installation, MySQL creates a root user account which you can use to manage your database. This user has full privileges over the MySQL server, meaning it has complete control over every database, table, user, and so on. Because of this, it's best to avoid using this account outside of administrative functions. This step outlines how to use the root MySQL user to create a new user account and grant it privileges.

In Ubuntu systems running MySQL 5.7 (and later versions), the root MySQL user is set to authenticate using the auth_socket plugin by default rather than with a password. This plugin requires that the name of the operating system user that invokes the MySQL client matches the name of the MySQL user specified in the command. This means that you need to precede the mysql command with sudo to invoke it with the privileges of the root Ubuntu user in order to gain access to the root MySQL user:

Note: If your root MySQL user is configured to authenticate with a password, you will need to use a different command to access the MySQL shell. The following will run your MySQL client with regular user privileges, and you will only gain administrator privileges within the database by authenticating with the correct password:

Once you have access to the MySQL prompt, you can create a new user with a CREATE USER statement. These follow this general syntax:

After CREATE USER, you specify a username. This is immediately followed by an @ sign and then the hostname from which this user will connect. If you only plan to access this user locally from your Ubuntu server, you can specify localhost. Wrapping both the username and host in single quotes isn't always necessary, but doing so can help to prevent errors.

You have several options when it comes to choosing your user's authentication plugin. The auth_socket plugin mentioned previously can be convenient, as it provides strong security without requiring valid users to enter a password to access the database. But it also prevents remote connections, which can complicate things when external programs need to interact with MySQL.

As an alternative, you can leave out the WITH authentication_plugin portion of the syntax entirely to have the user authenticate with MySQL's default plugin, caching_sha2_password. The MySQL documentation recommends this plugin for users who want to log in with a password due to its strong security features.

Run the following command to create a user that authenticates with caching_sha2_password. Be sure to change to your preferred username and to a strong password of your choosing:

Note: There is a known issue with some versions of PHP that causes problems with caching_sha2_password. If you plan to use this database with a PHP application - phpMyAdmin, for example - you may want to create a user that will authenticate with the older, though still secure, mysql_native_password plugin instead:

If you aren't sure, you can always create a user that authenticates with caching_sha2_plugin and then ALTER it later on with this command:

After creating your new user, you can grant them the appropriate privileges.

The general syntax for granting user privileges is as follows:

The value in this example syntax defines what actions the user is allowed to perform on the specified and . You can grant multiple privileges to the same user in one command by separating each with a comma. You can also grant a user privileges globally by entering asterisks (*) in place of the database and table names. In SQL, asterisks are special characters used to represent "all" databases or tables.

To illustrate, the following command grants a user global privileges to CREATE, ALTER, and DROP databases, tables, and users, as well as the power to INSERT, UPDATE, and DELETE data from any table on the server. It also grants the user the ability to query data with SELECT, create foreign keys with the REFERENCES keyword, and perform FLUSH operations with the RELOAD privilege. However, you should only grant users the permissions they need, so feel free to adjust your own user's privileges as necessary.

You can find the full list of available privileges in the official MySQL documentation.

Run this GRANT statement, replacing with your own MySQL user's name, to grant these privileges to your user:

GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO @'localhost' WITH GRANT OPTION;

Note that this statement also includes WITH GRANT OPTION. This will allow your MySQL user to grant any permissions that it has to other users on the system.

Warning: Some users may want to grant their MySQL user the ALL PRIVILEGES privilege, which will provide them with broad superuser privileges akin to the root user's privileges, like so:

Such broad privileges should not be granted lightly, as anyone with access to this MySQL user will have complete control over every database on the server.

Many guides suggest running the FLUSH PRIVILEGES command immediately after a CREATE USER or GRANT statement in order to reload the grant tables to ensure that the new privileges are put into effect:

However, according to the official MySQL documentation, when you modify the grant tables indirectly with an account management statement like GRANT, the database will reload the grant tables immediately into memory, meaning that the FLUSH PRIVILEGES command isn't necessary in our case. On the other hand, running it won't have any negative effect on the system.

If you need to revoke a permission, the structure is almost identical to granting it:

Note that when revoking permissions, the syntax requires that you use FROM, instead of TO which you used when granting the permissions.

You can review a user's current permissions by running the SHOW GRANTS command:

Just as you can delete databases with DROP, you can use DROP to delete a user:

After creating your MySQL user and granting them privileges, you can exit the MySQL client:

In the future, to log in as your new MySQL user, you'd use a command like the following:

The -p flag will cause the MySQL client to prompt you for your MySQL user's password in order to authenticate.

By following this tutorial, you've learned how to add new users and grant them a variety of permissions in a MySQL database. From here, you could continue to explore and experiment with different permissions settings for your MySQL user, or you may want to learn more about some higher-level MySQL configurations.

For more information about the basics of MySQL, you can check out the following tutorials:

# data[].attributes.attachment_link.title
How To Create a New User and Grant Permissions in MySQL | DigitalOcean

# data[].attributes.attachment_link.description
MySQL is a powerful database management system used for organizing and retrieving data. This tutorial explains how to to create new MySQL users and how to gr...

# data[].attributes.headline
Additional notes on how to perform backup & recovery for MySQL database

# data[].attributes.subject
Additional notes on how to perform backup & recovery for MySQL database

# data[].attributes.attachment_link.readable_text
Introduction

Effective MySQL database management relies on a robust backup and restore strategy. This process is crucial for safeguarding data integrity and minimizing downtime.

By routinely backing up and efficiently restoring databases, businesses can mitigate the risks of data loss. This process ensures uninterrupted operations and swift recovery in the face of unforeseen events.
In this tutorial, we present two easy ways to back up and restore a MySQL Database.
Prerequisites

How to Back Up MySQL Database?

You can back up a MySQL database using command-line tools, graphical user interfaces, and third-party tools. The most common methods are explained below.

Method 1: Back up MySQL Database Using mysqldump

mysqldump is the native MySQL backup solution. It allows the user to create a backup with a single command. The syntax is:

sudo mysqldump -u username -p dbname > backup.sql

Replace username with your MySQL username.

dbname is the database name you want to back up.

Replace backup.sql with the desired name for the backup file.

For example:

When prompted, enter your password and press Enter to confirm. Wait for the process to complete.

Method 2: Back up MySQL Database Using phpMyAdmin

phpMyAdmin uses the Export function to create backups. Follow the steps below:

1. Open phpMyAdmin. In the directory tree on the left, click the database you want to back up.

Doing so opens the directory structure in the right-hand window. You will also notice that all the assets under the main database are highlighted in the directory tree.

2. Click the Export tab.

3. Select Quick in the Export Method section to save a copy of the whole database. Choose Custom to select individual tables or other special options. Leave the Format field set to SQL unless you have a good reason to change it.

4. Click Go to start the process.

If you selected Quick, the web browser downloads a copy of the database into your specified downloads folder. You can copy it to a safe location.

Method 3: Back up MySQL Database Using Workbench

MySQL Workbench is a GUI that includes features for managing and performing backups of MySQL databases. Follow the steps below to back up a MySQL database using MySQL Workbench:

1. Launch MySQL Workbench and connect to your MySQL server.

2. In the MySQL Workbench home screen, select the Data Export option in the Management section in the sidebar.

3. Select the database you want to back up from the list of available databases in the Data Export wizard.

4. Choose where you want to store the backup. Select a project folder or a self-contained file.

5. Configure backup options such as the backup method (complete or partial backup), compression, and other settings.

6. Review the configured settings and click the Start Export button to start the backup process.

The Backup Wizard displays the backup progress and a confirmation when it is completed.

Method 4: Back up MySQL Database Using a File System Snapshot

Backing up a MySQL database using a file system snapshot involves creating a snapshot of the underlying file system that stores the MySQL data files. This method allows you to create a point-in-time copy of the entire database without interrupting the MySQL service.

Follow the steps below to back up a MySQL database using a file system snapshot:

1. Identify your MySQL data directory location. The data directory is where MySQL stores its databases, tables, and other data files. The default location varies depending on your operating system. On Linux, the data directory is typically /var/lib/mysql/, while on Windows, it is C:\Program Files\MySQL\MySQL Server X.X\data\.

2. Before taking the snapshot, it's essential to pause or lock MySQL writes to ensure data consistency. In the MySQL prompt, use the following SQL command:

FLUSH TABLES WITH READ LOCK;

The command flushes all tables and prevents further write operations.

3. Create a snapshot using the tools provided by your file system or storage solution. The commands depend on your file system. For example, if you are using LVM (Logical Volume Manager) on Linux, use the command below:

lvcreate --snapshot --name mysqldata_snapshot --size 1G /dev/mapper/mysqlvg-mysqldata

The command creates a snapshot of the MySQL data volume.

4. After taking the snapshot, unlock MySQL writes by running:

UNLOCK TABLES;

5. After creating the snapshot, you can back it up to another location or storage system, such as a different server, disk, or cloud storage service.

Method 5: Back up MySQL Database Using the Binary Log

MySQL binary logging allows users to log changes to their MySQL database. It provides a way to perform various tasks, including point-in-time recovery, replication, and backup. Follow the steps below to use binary logs for backup:

1. Make sure that binary logging is enabled in your MySQL configuration file ( my.cnf or my.ini).

In Linux, the file path is usually /etc/mysql/my.conf

In Windows, the path is C:\ProgramData\MySQL\MySQL Server XX\my.ini.

2. Open the file using a text editor and look for the log_bin line. If it is not present or commented out, add it or uncomment it:

log_bin = /path/to/mysql-bin

Replace /path/to/mysql-bin with the desired path for your binary log files.

3. Verify the binary log-related configuration options using the following SQL command to check the current binary log status:

SHOW VARIABLES LIKE 'log_bin%';

4. Before you start binary logging, create a full database backup. You can use tools like mysqldump or other backup methods to create a baseline backup.

5. Start binary logging by running the following SQL command in the MySQL shell:

SET GLOBAL log_bin = ON;

5. Manually copy the binary log files to another location as a backup. Alternatively, use tools like mysqlbinlog to extract the SQL statements from the binary logs and save them to a file. The syntax is:

mysqlbinlog mysql-bin.xxxxxx > backup.sql

Replace mysql-bin.xxxxxx with the binary log file name.

How to Restore MySQL Database

There are several ways to restore a MySQL database, and the method you choose depends on factors such as the backup format, the database size, and the specific requirements of your setup.

The sections below show different ways of restoring a MySQL database.

Method 1: Restore All Databases in MySQL

The utility allows you to restore a single database or all databases on the server in bulk. To restore all databases in MySQL, use the command-line tool with an SQL dump file that contains the structure and data for all databases.

Follow the steps below:

1. Note the location of your SQL dump file containing the structure and data for all databases.

2. Use the mysql command to restore the dump file. The syntax is:

mysql -u username -p < backup.sql

Replace username with your MySQL username.

Replace backup.sql with the path to your SQL dump file.

For example:

The command reads the SQL commands from the dump file and executes them to recreate all the databases.

After running the above command, MySQL prompts you for the password. Provide it and press Enter to confirm. It may take a long time to restore the databases if the SQL dump file is large. Also, ensure you have sufficient privileges to create databases and tables.

Method 2: Restore MySQL Database Using phpMyAdmin

phpMyAdmin is a popular web-based administration tool for MySQL. It is a convenient option for smaller databases. However, other methods like command-line tools or MySQL clients are more suitable for larger databases or when you need more control over the restoration process.

Follow the steps below to restore a MySQL database using phpMyAdmin.

1. Clear Old Database Information

It's important to clear old data before restoring a backup. If there is old data, it isn't overwritten when you restore the backup, causing duplicate tables, errors, and conflicts.

1. Open phpMyAdmin, and from the navigation pane on the left, choose the database you want to restore.

2. Select the Check all box near the bottom and click the Drop button to clear the old data.

3. The tool prompts if you want to proceed. Click Yes.

The process removes the existing data, clearing the way for restoring the database.

2. Restore Database Information

In phpMyAdmin, use the Import tool to restore a database.

1. In the top menu, click Import.

2. The first section is labeled File to import. A couple of lines down, there's a button labeled Browse.... Click the button and find the backup file.

3. Use the dialog box to find the export file you want to restore. Leave all the options set to default. If you created your backup with different options, you can select them here.

4. Click Go to start the process.

The program outputs the details and states whether the restore has been completed successfully.

Method 3: Restore a Specific Table in MySQL Database

To restore a specific table in MySQL, you can use the command-line tool or a MySQL graphical user interface like MySQL Workbench. For this section, we will use the command line.

Assuming you have an SQL dump file that contains the specific table you want to restore, use the following syntax:

mysql -u username -p dbname < backup.sql

Replace username with your MySQL username.

dbname is your database name.

Replace backup.sql with the path to your SQL dump file.

To restore a specific table from the dump file, use the option along with the command:

mysql -u username -p dbname --tables table_name < backup.sql

Replace table_name with the name of the specific table you want to restore.

Method 4: Restore MySQL Database Using Workbench

MySQL Workbench is a graphical tool that provides a user-friendly interface for managing MySQL databases. You can use it to restore a database from a backup file. Keep in mind that the exact steps and options may vary depending on the program version. If you encounter any issues, consult the documentation for your specific version.

Follow the steps below to restore a database using the MySQL Workbench:

1. Launch MySQL Workbench and connect to your MySQL server.

2. In the Navigator panel on the left, under Management, click the Data Import/Restore option.

3. In the Data Import window, choose the source of your backup data. Depending on your backup type, keep the selected Dump Project folder option or select the Import from Self-Contained File. Click the three dots ( ...) to find the SQL dump file or folder you want to restore.

The Import Options section allows you to configure various options such as target schema, specific objects to import, etc.

4. After configuring the import options, click the Start Import button to begin the restoration process.

MySQL Workbench displays the restore operation progress. You can monitor the status, and any errors or warnings will be shown in the log.

Method 5: Restore Database Using Binary Logs

Restoring a MySQL database using binary logs involves replaying the sequence of events recorded in the binary log files to bring the database to a specific point in time. It is typically used for point-in-time recovery or for restoring data after a specific event.

Use the mysqlbinlog utility to apply the binary logs and restore a database to the desired point in time. Follow the steps below:

1. Open the terminal and use the following syntax to apply the binary logs and restore the database:

mysqlbinlog mysql-bin.xxxxxx | mysql -u username -p

Replace mysql-bin.xxxxxx with the path to the binary log file.

The username is your MySQL username.

Enter your MySQL password and wait for the process to complete.

2. Restart the MySQL Server by running:

sudo service mysql restart

The restoration is now complete, and you can continue using the server.

Conclusion

The article showed you how to back up and restore a MySQL Database using different methods. If you want to learn more about how to perform regular MySQL backups, check out our article about setting up master-slave replication in MySQL.

To learn about different ways to analyze and repair a database, read our article on how to repair MySQL database.

# data[].attributes.attachment_link.title
How to Back Up and Restore a MySQL Database {Easy Tutorial}

# data[].attributes.attachment_link.description
Has your MySQL database has been damaged? This guide shows how to back up and restore a MySQL Database using different methods.

# data[].attributes.body
https://www.data.gov.my/ -->Malaysia public data

https://www.kaggle.com/datasets

https://datasetsearch.research.google.com/

https://data.worldbank.org/

https://github.com/awesomedata/awesome-public-datasets

https://data.gov/ -->US data

# data[].attributes.headline
Tutorial 1-creating database & database schema

# data[].attributes.subject
Tutorial 1-creating database & database schema

# data[].attributes.attachment_link.title
A MySQL Cheat Sheet for All Commands to Control Access(updated)

# data[].attributes.attachment_link.title
What Is Hadoop? Components of Hadoop and How Does It Work [Updated]

# data[].attributes.attachment_link.description
Understand what is Hadoop, its components, & architecture. Read on to know more about Apache Hadoop in Big Data, its challenges & uses.

# data[].attributes.attachment_link.title
Attendance Online Class ITC3013-week 13 (consultation)

# data[].attributes.attachment_link.description
Attendance Online Class ITC3013-week 13 (consultation)