陳擎文教學網:MySQL Database Systems and Applications(EMI)
1. Common SQL databases used in enterprises include three types:
(1). MySQL (acquired by Oracle) ➜ MariaDB (completely free)
(2). MSSQL (Microsoft SQL Server)
(3). Oracle Database

2. The complete sequence for learning data analysis:
(1). First, learn the basics of data extraction, data analysis, and data visualization techniques (pandas module)
(2). Then, learn SQL databases and SQL data analysis
(3). Next, learn basic Python statistical analysis (scipy module)
(4). Then, learn regression/classification analysis techniques: machine learning (numpy, sklearn modules)
(5). Finally, learn artificial intelligence techniques: deep learning (tensorflow-keras module)

3. Course outcomes:
(1). Familiarity with various SQL database query commands and operational methods
(2). Ability to independently set up SQL Server and MySQL databases on commercial cloud hosts (Azure cloud)
(3). Ability to use Python to operate cloud-hosted SQL databases
(4). Ability to combine SQL + Tableau for various visualizations and extracting business intelligence
(5). Ability to query and analyze enterprise-related inventory management databases
(6). Ability to perform basic analysis on various business SQL data and write side project reports
```


資源(Resource)

作業(homework)

chp2-1-If you have Xampp, uninstall Xampp first.

【Illustration】: Enter 'Add' in Windows 11 ➜ Choose 'Add or remove programs',
【Illustration】: Search for 'xampp',
【Illustration】: Select 'Uninstall',

Note: Having both MySQL Workbench and Xampp installed will result in port 3306 conflict, making them unusable.

Solution 1: Uninstall Xampp software first.

Solution 2: Change Xampp's port to any other number (e.g., 3307). You need to change three settings, which is complex. Refer to the tutorial video.

Tutorial video for installing two MySQL databases (Install Workbench first, then Xampp)



chp2-2-First, check if your Windows computer name is in English.

(1). If the computer name is in Chinese, Workbench cannot be installed successfully.
Illustration 1, Illustration 2,
(2).Method 1: Check if your Windows 11 computer name is in English.
(3).Method 2: Check if your Windows 11 computer name is in English.
Step 1: Open Settings: Press Windows key + I to open the Settings app.
Step 2: In Settings, click "System" on the left side.
Step 3: Scroll down and select "About".
Step 4: Change computer name to an English name: In the "About" page, find the "Device Specifications" under "Computer Name", and click the "Change Name" button on the right.
Step 5: Restart your computer.



chp2-3-Using school network for MySQL installation may take longer; it's recommended to use personal mobile hotspot.


chp2-4-Install MySQL from the official website: Workbench (a tool developed by Oracle after acquiring MySQL)

(1).【Steps to install MySQL on a Windows computer】:

Step 1: Install MySQL Community Server (LTS version, choose Windows or macOS)

Step 2: Install MySQL Workbench client interface

◉ Two versions of MySQL: Innovation version or LTS (Long Term Support) version
◉ Innovation version: Latest features and improvements but may include features that are not fully stable.
◉ LTS version (Long Term Support): Stable and secure, suitable for use in production environments.


Video 1: Tutorial for installing MySQL 8.4 LTS on Windows

Video 2: Tutorial for installing MySQL 8.4 LTS on macOS


Presentation for Windows: Installing MySQL Workbench (a tool developed by Oracle)

Presentation for Windows: Installing MySQL Workbench (a tool developed by Oracle)

(3).【Steps to install MySQL on a Mac computer】

Link: Install MySQL Workbench on macOS

Presentation for Mac: Installing MySQL Workbench



Download the Common Database Used This Semester: firstdb

Download CSV File: score.csv

Download Excel File: test.xlsx

chp2-3-Setting Up a Microsoft Azure MySQL Database

chp2-4-Using Colab to Write Python Scripts for Reading Azure MySQL Databases

chp2-5-How to Add a New User in Azure Cloud to Access a Specific Database for Select Operations

chp2-6-Free Online SQL Practice (w3schools)

chp8-1 Frequency Analysis After Grouping: select..count(*)....Group by...
Example 1: Counting the Number of 'Male and Female' Students in [Management 2a]
Example 2: Counting the 'Education Level' in the [Survey]

chp8-2 Field Calculation Analysis After Grouping: select..aggregate()....Group by...
Example 1: Comparing the 'Average Math Scores' of 'Male and Female' Students in [Management 2a]
Example 2: Comparing the 'Satisfaction Scores' by 'Education Level' in the [Survey]

chp8-3 Field Calculation Analysis After Grouping with Conditional Filtering: select..aggregate()....Group by...Having...
Example 1: Comparing the Total 'Sales Amount' of Different 'Products' in [Electronic Sales], Finding the Top 3
Example 2: Comparing the Total 'Sales Amount' of Different 'Business Units' in [Electronic Sales], Finding the Top 1
Example 3: Comparing the Total 'Number of People' in Different 'Business Units' in [Electronic Sales], Finding Units with More than 25 People
Example 4: Comparing the Total 'Sales Amount' of Different 'Business Units' in [Electronic Sales], Finding Units with a Total of Less than '2,000,000'

chp8-4 Calculating Two Target Values After Grouping
Example 1: Comparing the Total 'Sales Quantity and Sales Amount' of Different 'Products' in [Electronic Sales]
Example 2: Comparing the Total 'Sales Quantity and Sales Amount' of Different 'Business Units' in [Electronic Sales]

chp8-5 Cross Analysis After Grouping 2 Groups, Calculating 1 Target Value (Pivot Table, Cross Tabulation): Improving MySQL's Default Settings to Achieve This
Example 1: Comparing the Total 'Sales Amount' of Different 'Products and Business Units' in [Electronic Sales]
Example 2: Comparing the Total 'Sales Amount' of Different 'Salesperson Genders and Products' in [Electronic Sales]

Download Practice Database: company

If the company database fails to install, here are two solutions:
Method 1: Add reset master; before the database.
Method 2: Delete lines 9-26 of the company database to execute it successfully.

chp10-1 Reverse Engineering: Restore Two Segmented Relational Tables into One 'Complete Order Table'
Example 1: Combine 【orders】【ordersDetails】 into One 'Complete Order Table'
Example 2: Combine 【orders】【customers】 into One 'Complete Customer Order Table'

chp10-2 Perform 'Group Calculation' that Requires Two Related Tables to Complete the Calculation
Example 1: Calculate the 'Total Price' of Products from Different Suppliers in 【product】
Example 2: Calculate the 'Total Amount' of Different Products in 【orderDetails】

chp10-3 Use 'Subquery' to Operate on 'Two Related Tables' to Complete a Query
Example 1: Find All Orders with 'Product ID=12' in 【order】
There are three ways to handle 'Two Related Tables': A. Merge Using FROM t1,t2 WHERE. B. Merge Using JOIN...ON.. C. Subquery Using where column=(n1) (this n1➔ comes from another query 1)

chp10-4 Use Exists (Subquery) to Test Whether 'Two Tables' Are Related? Also, Not Exists (Subquery)
Example 1: Relate 【customers, orders】 to Test Which 'Customers' Have Placed Orders
Example 2: Relate 【customers, orders】 to Test Which 'Customers' Have Not Placed Orders
Example 3: Compare: Four Methods for 'Relating Tables' (**Very Important)

chp10-5 Example 1: Find All Orders with 'Product ID=12' in 【order】
Example 2: Compare: Four Methods for Operating 'Related Tables' (**Very Important)

chp10-6 Calculate the Total Price of All Products in Each Order in 【orderDetails】? Display 'Order ID, Total Price'
Tip: Only Two Methods for 'Related Tables' Can Be Used, Merging Method

☎chp15-0-Presentation: Introduction to Tableau

☎Link: Tableau Public Login Page

☎Download: Employee Database (employees_mod.sql)



chp15-1-MySQL Integrated with Python Visualization: Comparing Gender Changes in the Company Since 1990

chp15-2-Presentation: MySQL Integrated with Tableau for Business Intelligence (BI): Comparing Gender Changes in the Company Since 1990

Download: Employee Database (employees_mod.sql)

Download: Employee Database Schema Diagram

Result: Interactive Dynamic Chart (Dashboard Created with Tableau)



☎chp15-3-a: Colab: SQL Example: Comparison of Gender Enrollment Changes in 105, 106, and 107 Years, Comparison of Number of Students from Different Regions

☎chp15-3-b: Presentation: MySQL Integrated with Tableau for Business Intelligence (BI): Comparison of Enrollment Changes by Region in 105, 106, 107 Years

Download: Practice Database (students)

☎Result: Interactive Dynamic Chart (Dashboard Created with Tableau)



chp15-4-a: Colab: SQL Example: Comparison of Gender Manager Changes Since 1990

chp15-4-b: Presentation: MySQL Integrated with Tableau for Business Intelligence (BI): Gender Manager Changes in Various Departments Over the Years

Download: Employee Database (employees_mod.sql)

Result: Interactive Dynamic Chart (Dashboard Created with Tableau)



☎chp15-5-a-Colab: SQL Example: Comparison of Annual Salaries for Different Genders and Departments Before 2002

☎chp15-5-b-Presentation: MySQL Integrated with Tableau for Business Intelligence (BI): Comparison of Annual Salaries for Different Genders and Departments Before 2002 (Line Chart)

Download: Employee Database (employees_mod.sql)

☎Result: Interactive Dynamic Chart (Dashboard Created with Tableau)



☎chp15-7-Presentation: MySQL Integrated with Tableau for Business Intelligence (BI), Example: Dashboard (Displaying 4 Views Simultaneously)

☎Result: Interactive Dynamic Chart (Dashboard Created with Tableau)

資源
上課工具 線上黑板( Online blackboard) 廣播教學 上課錄影影片 Goole輸入法(Input:exe)
上課參考教材 書籍:圖解資料庫系統理論:使用SQL Server實作 書籍:挖掘數據真相,征服大數據時代的第一本書,Practical SQL
mySQL 8.0資料庫(*.sql) firstdb.sql初學資料庫 company.sql訂單關聯資料庫 company2.sql企業內部資料庫 imdb.sql電影、電視、遊戲和娛樂界人士資料庫

如何解決這些資料庫無法匯入workbench

資料庫無法順利安裝到workbench的同學,2個方法解決:
方法1:在資料庫前面打上 reset master;
方法2:或是把company的9-26行,刪掉就可以執行了

mySQL 8.0資料庫(*.sql) sakila.sql出租電影DVD店資料庫 world.sql各國城市資料庫 nba.sql students.sql新生入學資料庫
mySQL 8.0資料庫(*.sql) covid19.sql新冠資料庫 下員工資料庫employees_mod.sql
excel檔案 問卷調查檔案 電子銷售 employee 學生成績
csv檔案 小費tips-chinese 小費tips-english 學生成績-chinese 學生成績-english
csv檔案 員工
圖書資料-chinese 新生入學資料庫 飲料店 經管1A
學校所屬地區 問卷調查 鐵達尼號 運動器材
SQL語法手冊(中文) fooish教學(有MySQL,MSSQL,Oracle) 1keydata教學網 gitbook SQL教學網 w3school教學網
比較MySQL,MSSQL,Oracle 比較MySQL,MSSQL,Oracle-1 比較MySQL,MSSQL,Oracle-2 比較MySQL,MSSQL,Oracle-3 比較MySQL,MSSQL,Oracle-4
SQL語法線上練習網站 sqlzoo SQL語法,交互練習學習網站 CodeCademy(英文,交互練習,逐一範例不斷next練習) sqlbolt:不需要註冊,交互練習,每一節課講解後面都有對應的練習題 w3schools:每一交互練習,最後有quiz測試題
SQL語法線上練習網站 sqlteaching,英文版交互練習學習網站
SQL語法教學資源(影片) MySQL Full Course for free(2023) SQL入門教程-3小時學會MySQL SQL進階教程:易懂SQL教程,10小時零基礎成長 MySQL資料庫入門到精通,從mysql安裝到mysql高級
證照考試 在台灣地區,可以考的 SQL 資料庫相關證照主要有以下幾種:

一,國際認證
Oracle 資料庫認證:Oracle 公司提供的資料庫認證,包括 OCA、OCP、OCM 等不同級別的認證。
Microsoft 資料庫認證:Microsoft 公司提供的資料庫認證,包括 MCSA、MCSE、MCSD 等不同級別的認證。
IBM 資料庫認證:IBM 公司提供的資料庫認證,包括 DB2 資料庫認證。
國內認證
TQC 資料庫認證:由台灣品質學會提供的資料庫認證,包括 MySQL、Microsoft SQL Server、Oracle 等不同資料庫的認證。
104 人才學院認證:由 104 人力銀行提供的資料庫認證,包括 MySQL、Microsoft SQL Server、Oracle 等不同資料庫的認證。
以下是各個證照的簡要說明:

(1).Oracle 資料庫認證
OCA:Oracle 資料庫認證的入門級認證,考核基礎的資料庫概念和操作。
OCP:Oracle 資料庫認證的專業級認證,考核更深入的資料庫概念和操作。
OCM:Oracle 資料庫認證的專家級認證,考核資料庫管理和開發的專業技能。

(2). Microsoft 資料庫認證
MCSA:Microsoft 資料庫認證的入門級認證,考核基礎的資料庫概念和操作。
MCSE:Microsoft 資料庫認證的專業級認證,考核更深入的資料庫概念和操作。
MCPD:Microsoft 資料庫認證的專家級認證,考核資料庫管理和開發的專業技能。

(3). IBM 資料庫認證
DB2 資料庫認證:IBM 資料庫認證的入門級認證,考核基礎的資料庫概念和操作。

二,國內證照
(4). TQC 資料庫認證
MySQL 資料庫認證:TQC 資料庫認證的入門級認證,考核 MySQL 資料庫的基礎概念和操作。
Microsoft SQL Server 資料庫認證:TQC 資料庫認證的入門級認證,考核 Microsoft SQL Server 資料庫的基礎概念和操作。
Oracle 資料庫認證:TQC 資料庫認證的入門級認證,考核 Oracle 資料庫的基礎概念和操作。

(5).104 人才學院認證
MySQL 資料庫認證:104 人才學院認證的入門級認證,考核 MySQL 資料庫的基礎概念和操作。
Microsoft SQL Server 資料庫認證:104 人才學院認證的入門級認證,考核 Microsoft SQL Server 資料庫的基礎概念和操作。
Oracle 資料庫認證:104 人才學院認證的入門級認證,考核 Oracle 資料庫的基礎概念和操作。


以下是一些考取 SQL 資料庫相關證照的建議:
在選擇考照時,可以根據自己的需求和目標來選擇合適的證照。
如果您是剛入門 SQL 資料庫,可以先考取入門級的證照,例如 OCA 或 MCSA 等。

如果您已經有一定的 SQL 資料庫經驗,可以考取專業級或專家級的證照,例如 OCP 或 MCSE 等。

做好準備:考取證照之前,需要對相關的知識和技能進行充分的準備。可以通過閱讀書籍、參加課程或在線學習等方式來進行準備。
練習考題:考取證照之前,需要練習考題來熟悉考試的內容和形式。可以通過購買模擬考題或參加模擬考試等方式來進行練習。
調整狀態:考試當天,需要保持良好的狀態來應對考試。可以通過充分的休息和放鬆來調整狀態。


三,以下是一些與SQL語法有關的資料庫證照的選項(不牽涉到資料庫管理):

專注於SQL語法而不涉及資料庫管理的證照較為罕見,因為SQL通常被視為資料庫管理和數據分析的基礎工具。然而,有一些證照可能會涵蓋SQL語法的使用,並著重於數據的查詢和分析。

1. Oracle SQL Certification
Oracle提供了一系列關於SQL的證照,例如“Oracle Database SQL Certified Associate”。
這些證照著重於SQL語法的使用,包括數據的查詢、插入、更新和刪除。

Database SQL Certified Associate:
這是一個由Oracle公司提供的Oracle資料庫SQL認證助理(Oracle Database SQL Certified Associate)的證照,
針對使用Oracle Database的資料庫管理系統。
這個證照要求考生通過兩項考試,分別是Oracle Database SQL Fundamentals和Oracle Database Administration
這個證照同樣包含了資料庫管理的內容,但也涵蓋了資料庫的操作、查詢、分析和優化等方面。

2. Oracle Certified Database Operator (OCDO):
這是Oracle的資料庫操作員認證,要求證明您具備使用SQL語言進行資料庫操作的能力。

3. Microsoft Certified: Data Analyst Associate
這個證照強調使用Power BI進行數據分析,但在處理數據時,你需要熟悉如何使用SQL語法。
學習如何撰寫SQL查詢,進行數據的提取和轉換。

4. Microsoft Technology Associate (MTA): Database Fundamentals
這個初級證照涵蓋了數據庫的基本概念,包括使用SQL進行數據的查詢和修改。
雖然有涉及到一些數據庫管理的內容,但主要還是偏向於數據庫的基本使用和SQL語法。

5. Microsoft Certified Professional, Transact-SQL (MCITP)
這是微軟的Transact-SQL認證,適用於使用微軟資料庫的開發者和管理員。

6. Microsoft Certified: Azure Data Engineer Associate
這是一個由微軟公司提供的微軟認證Azure資料工程師助理(Microsoft Certified: Azure Data Engineer Associate)的證照,
針對使用Azure平台的資料工程師。這個證照要求考生通過兩項考試,分別是Implementing an Azure Data Solution和Designing an Azure Data Solution。
這個證照不牽涉到資料庫管理,而是著重於使用Azure服務來設計、實現和監控資料解決方案,包括使用SQL語言來操作Azure SQL Database等

TQC-DA-大型資料庫管理系統 MySQL5
這是一個由財團法人中華民國電腦技能基金會提供的企業人才技能認證,針對使用MySQL5的資料庫管理系統。這個認證是經過詳細調查、分析各職務工作需求,確認從事該項職務應具備哪些電腦技能,再以實務操作方式進行認證,

這個證照不牽涉到資料庫管理,而是著重於資料庫的操作、查詢、分析和優化等方面
7. SAS Certified Specialist: Base Programming
雖然SAS有自己的語法,但它也支持SQL查詢,這個證照涵蓋了使用SQL進行數據處理的部分。

8. IBM Certified Database Administrator - DB2 UDB Administration
這是IBM的資料庫管理員認證,其中也涵蓋了對SQL語言的理解和運用。

數據集,資料集,dataset UCI的各種資料集 Kaggle的各種資料集 考試方式:100題單選題,每題1分,70分及格 考試指定用書
colab繪圖如何顯示中文,方法1 ☎#colab顯示繁體中文,方法1 問題:matplotlib繪圖,會發生中文無法顯示的問題
參考:colab繪圖如何顯示中文
程式碼
#--------------------------------
# colab繪圖顯示繁體中文
#--------------------------------
import matplotlib
# 先下載台北黑體字型
!wget -O taipei_sans_tc_beta.ttf https://drive.google.com/uc?id=1eGAsTN1HBpJAkeVM57_C7ccp7hbgSz3_&export=download import matplotlib
# 新增字體
matplotlib.font_manager.fontManager.addfont('taipei_sans_tc_beta.ttf')
# 將 font-family 設為 Taipei Sans TC Beta
# 設定完後,之後的圖表都可以顯示中文了
matplotlib.rc('font', family='Taipei Sans TC Beta')
colab繪圖如何顯示中文,方法2 ☎#colab顯示繁體中文,方法2 ☎程式碼
#--------------------------------------
# 課本的中文處理
#--------------------------------------
import matplotlib as mpl
import matplotlib.font_manager as fm

!wget "https://www.wfonts.com/download/data/2014/06/01/simhei/simhei.zip"
!unzip "simhei.zip"
!rm "simhei.zip"

fm.fontManager.addfont('SimHei.ttf')
mpl.rc('font', family='SimHei')
# 這一行能讓字體變得清晰
%config InlineBackend.figure_format = 'retina'
windows的spyder繪圖如何顯示中文 ☎解決:windows的spyder,會發生中文無法顯示的問題
參考:windows繪圖如何顯示中文
程式碼
#在windows 10 的spyder,繪圖如何顯示中文
#使用微軟正黑體(Microsoft JhengHei)
plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei']

#有些中文字體在碰到負號時,會無法正常顯示,尤其是內建的字體,加入以下語法就可以解決『負號無法顯示』問題
plt.rcParams['axes.unicode_minus'] = False
在colab如何更改目錄 ☎解決:在colab如何更改目錄的問題
程式碼
import os
os.chdir("/content/drive/MyDrive/Colab Notebooks")
!ls
解決簡體字csv造成亂碼 ☎解決簡體字csv,打開後都是亂碼的問題:

第2 種方式:
(1)先執行Excel 軟體,新增空白活頁簿,
(2)然後在上方功能選項中點選「資料」➜「取得外部資料」➜ 「從文字檔」 → 「選擇csv文件」,
選擇你的CSV 檔,
在「匯入字串精靈」對話框中選擇檔案原始格式65001:Unicode(UTF-8) 即可。

若是utf-8還是有亂碼,再改成
在「匯入字串精靈」對話框中選擇檔案原始格式54986:簡體中文(GB18080) 即可。

(3)打勾:我的資料有標題
(4)分隔符哈:逗號

程式模板 ☎存入excel檔案,並且畫柱狀圖
程式模板chp8-6.樞紐分析表的必要指令:展開 ☎輸出excel檔案:建立3個資料表sheet(英文成績,數學成績,中文成績)
打開chrome網頁線上英文字典功能 ☎如何安裝google chrome的網頁線上英文字典工具:
➜google chrome的右上角工具➜更多工具➜擴充功能
➜左上角主選單➜開啟chrome線上應用程式商店
➜勾選:google製作,免費
➜搜尋:google dictionary➜安裝
➜到chrome右上擴充功能➜點按google dictionary的『詳細資料』➜擴充功能選項
➜my language=chinese
➜打勾2個:Pop-up definitions:
(1)反白單字翻譯:Display pop-up when I double-click a word
(2)ctrl+拖曵整段翻譯: Display pop-up when I select a word or phrase

excel 學生成績-chinese 學生成績-有缺值-chinese 學生成績-物理歷史-chinese 學生成績-amy-simon-chinese
學生成績-生日-chinese 學生成績-分組-chinese 人事資料-chinese 男女時薪-chinese
學生成績-english 學生成績-有缺值-english 學生成績-分組-english 圖書資料-chinese
上課用csv 小費tips-chinese 小費tips-english 學生成績-chinese 學生成績-english
圖書資料-chinese
上課用其它資料庫 mySQL-ch09 SQLite-student json-學生成績 xml-personnel
課本商業範例資料庫 商業銷售分析-sales csv 系所生源分析-excel 股市分析-台積電聯發科股票線型-excel 問卷資料分析-excel
pandas參考教材 十分鐘入門 Pandas(英文) 十分鐘入門 Pandas(英文) 10分鐘的Pandas入門-繁中版 十分鐘入門 Pandas(中文)
pandas參考教材 pandas官網全部章節翻譯 pandas官網全部章節翻譯
pandas參考教材(英文) kaggle pandas教學 100 pandas tricks to save you time and energy 官網0.22.0:pandas documentation
pandas參考教材(中文) Pandas 101:資料分析的基石 資料科學家的pandas 實戰手冊:掌握40 個實用 簡明 Python Pandas 入門教學 資料分析必懂的Pandas DataFrame處理雙維度資料方法
pandas速查手冊 pandas 速查手册 - 盖若 Pandas速查手冊中文版 - 知乎專欄 Pandas速查手冊中文版- 騰訊雲開發者社區
pandas速查手冊 Pandas中DataFrame基本函數整理(全) Pandas 魔法筆記(1)-常用招式總覽 pandas的df的操作函數
資料集dataset 小費資料集Tips Dataset(csv) kaggle小費資料集範例A Waiter's Tips example 【視覺化】小費(tips)資料集分析 小費(tips)資料集提取和檢視相應資料
SQL語法 SQL語法教程 pandas vs SQL
資料分析4大模組(runoob) numpy pandas matplotlib scipy
w3c、w3school、w3cschool、runoob、w3capi比較 runoob流量監控儀表板
w3school vs runoob 1.w3school中文版是直接google翻譯英文版
2.runoob.com翻譯自英文版w3schools,但重新排版
3.runoob = run + noob(菜鳥,小白)
4.runoob是python,html,javascript中文版最好的教學網
官網 python官網 vscode官網    
python 教學網站 python 3(官網手冊中文) python 3教學(中文) python 3教學(中文) 簡易1小時教學
w3school(英文版)      
線上執行python online

https://www.python.org/shell/(建議用這個)

https://repl.it/languages/python3


https://www.onlinegdb.com/online_python_compiler

https://www.tutorialspoint.com/execute_python_online.php

用Anacond寫python(*建議使用)

到Anacond官網下載安裝

Homework
Homework 1
Homework 2
Side Project Homework 3
(Side Project)
1. Task: You are a newly hired SQL data analyst at Company A. Please analyze the company's business data from 1996 to 1998 from various perspectives to evaluate the following aspects of Company A:
【Employee Competency Assessment, Employee Sales Performance Analysis】,
【Customer Group Analysis (Country Groups, Customer Purchasing Power, Active Customers)】,
【Popular Product Sales Analysis, Preferred Product Analysis】,
【Annual and Monthly Performance Analysis】
Finally, please write a summary report. Use quantitative descriptions to prove the reliability, accuracy, and authority of your analysis, in order to build your personal brand and image as a data analyst.
```

 
chp1-1.前言
1.課程簡介投影片-1 2.課程簡介投影片-2
1.現今企業的數據有哪些 2.運用數據三階段 3.資料生產的四步驟 3.資料最基本的三個概念
5.什麼是大數據Big Data 6.大數據分析與傳統商業分析的差異 7.大數據的分析步驟 8.視覺化常用工具
9.什麼是大數據Big Data 10.大數據分析與傳統商業分析的差異 11.大數據的分析步驟 12.大數據的類型:結構化、非結構化、半結構化資料

1.現今企業的數據有哪些

1.現今企業的數據有哪些:
(1)所謂大數據,即是透過不同來源、渠道取得的海量數據資料,
現今企業如果想做數據蒐集的方法變得非常多元,包括:

(2)來自用戶的第一方數據:
☎傳統的用戶資料建檔、問卷調查,
☎網頁的瀏覽行為等數據的追蹤,
☎App應用程式的瀏覽行為等數據的追蹤、
☎物聯網IoT設備傳遞的數據等,
這些都是可以蒐集到。

還有更多可捕捉用戶站外資訊的非第一方數據也漸漸被重視,
(3)透過交換共享得到的第二方數據:
☎第二方數據 (也稱為第二方或 2P 數據):是另一個同行公司收集的數據,但可由另一家公司通過購買或協作訪問。
☎營銷人員在希望擴展其營銷資料庫以吸引新的潛在客戶時,通常會購買它。
☎例如,如果一個為女性製作的服裝品牌決定增加一個男裝系列,並且需要相關的目標來行銷,就可以向外同行公司購買男裝的數據資料庫。

(4)任何與商業需求有關的第三方數據:
☎第三方數據 (也稱為第三方或3P數據):是來自第三方的數據,該第三方已聚合了多個數據源並使其可供購買。
☎第三方數據的缺點:是它可能缺乏準確性和品質,因此重要的是了解數據來自何處以及數據使用年限.

(5)比較:第一方、第二方和第三方數據之間的差別:
第一方、第二方和第三方數據之間的主要區別在於:『來源』。
☎第一方數據:由其『存儲/擁有的公司』收集。
☎第二方數據:由『同行公司』收集,並由另一家公司購買(或通過合作協定與他們共用)。
☎第三方數據:是從『多個未知來源』收集的,並由一家公司購買。


(6)參考文獻:
1.第一方、第二方、第三方和零數據對廣告商意味著什麼
2.分析大數據在各領域的應用

2.運用數據三階段

1.市場上的數據需求,主要分為四個階段:
☎數據蒐集、
☎數據分析、
☎數據應用

(1)數據蒐集:蒐集第一方、第二方和第三方數據

☎傳統的用戶資料建檔、問卷調查,
☎網頁的瀏覽行為等數據的追蹤,
☎App應用程式的瀏覽行為等數據的追蹤、
☎物聯網IoT設備傳遞的數據等,

☎第二方數據:向同行公司購買數據。

☎第三方數據:向『其他管道,如:數據收集公司』購買。


(2)數據分析:原始數據(raw data)要先處理過

☎透過多元渠道獲取大量數據資料往往是原始數據(raw data),無法直接使用,
☎必須經過一層又一層的處理過程
☎處理方法1:數據檢查(data inspecting)
☎處理方法2:數據清理(data cleansing)
☎處理方法3:數據轉換(data transforming)


(2-1)處理方法2:數據清理(data cleansing)
A.資料清理是資料前處理的第一步,需要先將資料中的問題處理。
B.收載資料時一定會遇到各式髒資料,有的資料樣態會導致無法轉入資料庫,而有的資料會在塞入資料庫時,出現錯位、亂碼等各式各樣非預期的情況,此時倉儲資料清理的準則變得極為重要,因將攸關於整個系統資料的統一。
C.資料清理的準則設定可以從三個角度著手:
☎「檔案類型」問題的清理
☎「欄位型態」問題的清理
☎「資料邏輯」問題的清理
D.☎數據清洗:按照一定的規則剔除或者填充不滿足實際需要的業務資料。
E.☎清洗主要包括三部分的內容:
第一部分是測試資料、
第二個是錯誤的資料,
第三個是缺失的資料。
錯誤的資料我們可以關注:『資料是否重複』、格式是否『錯誤、欄位描述』的資訊是否錯誤。





D.(2-1-a)例如:資料來源檔案類型:純文字檔
☎資料內容以純文字的方式儲存的特色:
欄位與欄位之間以特定符號作為分隔,
例如:逗號、分號或|等等,
☎較常被使用的是「逗號」

☎可能發生的問題:
然而使用各符號作為分隔時,會遇到其中一種情況是:以逗號為例,如該欄位內容包含逗號,將會造成欄位內容分割時發生錯誤,但此逗號明明屬於資料的內容,卻被誤認為是分隔符號,使得分割完的資料對應到錯誤的欄位

☎解決的辦法:
將內容值前後都加上雙引號後,再以逗號分隔串連各欄位資料


D.(2-1-a)例如:檔案類型:資料庫
☎讀取資料庫文字欄位型態的資料時,內容包含換行符號,系統就認為這筆資料已經讀取完,則換行符號後面的資料內容即為下一筆資料的開頭,無法完整的將一筆資料讀取進來。
☎解決辦法:是移除換行符號,若需要保留換行符號,


D.(2-1-b)例如:欄位型態:日期
☎格式:同時出現以 斜線分隔(YYYY/MM/DD)、無分隔符號(YYYYMMDD) 或 連接號(YYYY-MM-DD) 的日期格式。
☎處理方式:透過判斷式將內容使用的符號,或沒有符號的純文字格式,換成資料庫可接受的日期格式。

☎西元年/民國年:同一欄位參雜西元年與民國年的日期。
☎處理方式:若以西元年格式存入資料庫,年若小於1911,則將 年份+1911 ;年若大於1911,則直接轉入。

☎值異常:例如日期出現2月30日、年份早於1911年等,或是不可為NULL的欄位卻出現NULL值等非正常的日期。
☎處理方式:異常的日期通常已經無法追溯到正確的值,或來源的日期就是髒資料,可統一為特定日期(如:1911年1月1日),日後看到即可確定來源的資料因有異常而清理過。


D.(2-1-b)例如:欄位型態:特殊字元
☎說明:文字是最容易造成轉檔失敗的型態,因為此型態可容許輸入任何類型的字元,例如:特殊字元,但資料庫本身並非接納的了所有字元,較特別的會無法轉入,或需要做其他特殊的轉換才能收載。
☎處理方式:必須找出那一筆,替換掉『特殊字元』後,再登錄進資料庫。


D.(2-1-c)例如:資料邏輯:縣市代碼
☎台灣曾經經歷過縣市升格為直轄市,有更換過縣市的中文名稱,那麼資料也須跟著配合調整。
☎處理方式:是做一張新舊對照縣市代碼與名稱的轉換表,日後資料若有縣市資訊需求,即可勾稽此資料表,讓縣市升格前與後的資料,能自由並適當的轉換,得到想要的資訊。


D.(2-1-c)例如:資料邏輯:身分證號的規則判斷
☎身分證號的編碼有固定的規則,
第一碼是初次戶籍所在的縣市代碼,
第二碼是性別(1:男性;2:女性),
第三到九碼是流水碼,
最後一碼第十碼是檢查碼,檢查碼會以第一到第九碼之英數字組合經過權重計算而得。
☎若要確認身分證是否有效,可依據這些規則去做判斷。


(2-3)處理方法3:數據轉換(data transforming)
A.☎數據轉化:按照一定的規則、技術手段轉化不同格式,或者顆粒度不同的資料。
B.(1)例如:格式的轉換,比如說時間格式,在不同的業務系統可能會有不同的時間格式,但是到我們大資料系統,為了方便下游資料的使用,我們會統一轉換成一種資料格式。包括一些欄位編碼也是這樣。
C.(2)資料顆粒度的轉換:我們在DW層的資料明細層到資料應用層的整個過程,都是顆粒度不斷轉化的一個過程。還包括一些業務規則、商務規則和一些指標。


☎補充:數據顆粒度:資料顆粒度指數據的細緻程度。
資料顆粒度越高,細緻程度越高,意味著可以進行更準確的分析。
然而,需要指出的是,資料顆粒度直接決定資料庫需要的儲存空間。
高顆粒度的資料需要更多儲存空間;如果資料顆粒度太高,能夠識別出背後的資料,隱私相關挑戰也會加大。

(4)參考文獻:
1.資料指標體系(1)如何理解資料顆粒度、維度以及指標

3.資料生產的四步驟

1.資料生產的四步驟:
• 資料指標體系搭建
• 資料獲取
• 資料存儲
• 數據清洗

2.建立資料後,即可開始資料分析

4.資料最基本的三個概念

1.資料最基本的三個概念:
☎顆粒度
☎維度
☎指標

(1)顆粒度
☎資料的顆粒度是指數據的 “粗細”,也就是我們看資料的視野的大小,或者說格局的大小。
☎例如:
一個電商公司,同樣是看GMV(總銷售額),CEO關注的可能是『今年總的GMV』是多少,
而業務老闆關注的可能是『每月的GMV』如何,
具體到某個小團隊,關注的點可能就是某些商品,『每天的GMV』如何了。

☎資料顆粒度最常見的劃分是:時間


(2)維度
☎資料的維度:是指看待事物不同的角度。
☎是從不同角度來看一件事,會得到不同的結論。
☎在做資料分析時也是一樣的。分析一個活動,或者一個策略對用戶的吸引時,如果我們以『新增用戶數』作為分析的指標(也就是展開方式,分析點),

☎可以列為『維度』進行拆分的項目:
• 時間維度:拆分為早晨、中午、晚上
• 性別維度:男性、女性、未知
• 受教育程度:小學、中學、大學、研究生、博士
☎通過維度的分解,我們可以看到每個部分的變動,和整體的變化趨勢是否相同,是否存在不同,而哪些不同點往往會成為我們接下來分析的重點。

☎顆粒度和維度的『相似性』:例如“時間”這個要素,在兩個部分都出現了
☎顆粒度和維度的『差異性』:不同在於拆分的方式不同
• 顆粒度:是一種縱向的聚合,類似於金字塔的形狀,不同的顆粒度都代表著不同的聚合程度
• 維度:是一種橫向拆分的模式。類似于把鏡子打碎成不同的部分,每個部分都是獨立的,把所有部分合在一起又能拼成完整的整體


(2-1)指標
☎資料指標:是衡量事物發展方式及程度的一種單位或者方法,一般通過對原始資料進行加減乘除等操作生成得到。
☎例如:長度,是把所有部分加在一起得到的一種衡量外在大小的單位。

☎列舉一些常見網路流量的資料指標:
• DAU(daily active user):每天,“活躍”過的用戶數的加總,count(distinct user_id) group by day
• MAU(monthly active user):每個月,“活躍”過的用戶的加總,count(distinct user_id) group by month
• 留存率(次日、7日、30日):今天“活躍”過的用戶的總量,一段時間後的某個時間點,還活躍的比例
• 轉化率:兩個有遞進的環節之間,從上層到下層用戶轉化的比例,例如:CTR=實際點擊次數/展示量



(4)參考文獻:
1.大數據前的資料清理
2.分析大數據在各領域的應用

5.什麼是大數據Big Data

1.為什麼有大數據的問題
現在的企業資料,因為以下的興起,造成大量數據的需求: ☎網路網路資料(社交網站,交易資料)
☎物聯網IoT, Internet of Things
☎感測器sensor


2.大資料的來源
資料來源主要分為以下三類:
(1)社交數據:
☎顧名思義,社交資料來源於社交媒體評論、發帖、圖片以及與日俱增的視頻檔。隨著全球 4G 和 5G 蜂窩網路的普及,到 2023 年,全球手機視頻使用者將增至 27.2 億。
☎雖然社交媒體及其使用趨勢瞬息萬變、難以預測,但作為數位資料的主要來源,其穩定增長趨勢是不會改變的。

(2)機器數據:
☎物聯網設備和機器都配有感測器,能夠發送和接收數位資料。物聯網感測器能夠幫助企業採集和處理來自整個企業的設備、工具和裝置的機器資料。
☎從天氣和交通感測器到安全監控,全球範圍內的資料生成設備正在迅速增多。
☎據 IDC 估計,到 2025 年,全球物聯網設備數量將超過 400 億,生成的資料量幾乎占全球數位資料總量的一半。

(3)交易資料:
☎交易資料是世界上發展速度和增長速度最快的資料。
☎例如,一家大型國際零售商每小時處理超過 100 萬筆客戶交易,全球那麼多採購和銀行交易,生成的資料量會有多麼驚人。
☎此外,交易資料越來越多地由『半結構化』資料組成,包括圖片和注釋等,使得管理和處理難度不斷增加。



3.大數據的五大特性:

(1)大數據的3V特性: ☎資料量(Volume)
☎資料類型(Variety)。
☎資料傳輸速度(Velocity)

☎Volume(資料量) 無論是天文學、生物醫療、金融、聯網物間連線、社群互動…每分每秒都正在生成龐大的數據量,如同上述所說的 TB、PB、EB 規模單位。

☎Variety(資料多元性)
真正困難的問題在於分析多樣化的資料:從文字、位置、語音、影像、圖片、交易數據、類比訊號… 等結構化與非結構化包羅萬象的資料,彼此間能進行交互分析、尋找數據間的關聯性。

☎Velocity(資料即時性)
大數據亦強調資料的時效性。隨著使用者每秒都在產生大量的數據回饋,過去三五年的資料已毫無用處。
一旦資料串流到運算伺服器,企業便須立即進行分析、即時得到結果並立即做出反應修正,才能發揮資料的最大價值。


(2)大數據的4V特性:
☎資料量(Volume)
☎資料類型(Variety)
☎資料傳輸速度(Velocity)
☎資料真實性(Veracity)
在3V成為大數據的主要定義後,隨著儲存資料的成本下降、取得成本也下降,大數據發展出第四個特性:Veracity,意旨除了資料量,也需要確認資料的真實性,過濾掉造假的數據與異常值後,分析出來的結果才能達到準確預測的目的。



(3)大數據的5V特性:
☎資料量(Volume)
☎資料類型(Variety)
☎資料傳輸速度(Velocity)
☎資料真實性(Veracity)
☎價值(Value)
大量、快速取得,來源多樣的資料,經過真實性考驗之後,擁有一定的價值,是大數據的核心架構




4.多大的資料量才算大數據Big Data
☎資料量要多大才能說是大數據?
根據維基百科的定義,資料大小從幾TB(Terabyte)到幾PB(Petabyte)不等




5參考文獻:
(1).什麼是大數據
(2).巨量資料(wiki)
(3).大數據到底是什麼意思?事實上,它是一種精神
(4).認識大數據定義、分析與工具
(5).大數據,不只是很大的數據

6.大數據分析與傳統商業分析的差異

1.大數據分析與傳統商業分析的差異

(1)大數據分析:
☎分析方法:使用原始資料➜統計分析➜產生視覺化圖表➜產生報表
☎使用技術:原始資料,大數據,使用程式碼(python/R)進行結構化分析
☎預測方法:找出數據間的關聯性➜建立預測模型➜完成預測

2.參考文獻:
(1).大數據,不只是很大的數據

7.大數據的分析步驟

1.大數據的分析步驟:取得,儲存,運算,視覺化

☎大數據分析第一步:取得
數據隨時隨地都在產生,就連你上班時的行走路線,都可以成為商家選擇新店地址的參考資料。若是擁有大量使用者的企業,蒐集使用者的活動紀錄就可達到以數據預測未來的目標;若是較小型的企業,則可主動邀請使用者填寫問卷,逐步累積資訊量。

☎大數據分析第二步:儲存
由於資料量龐大,突破儲存技術式處理大數據的第一個難關。因此處理大數據時多使用分散式處理系統,透過分割資料與備份儲存,突破記憶體過小的障礙。

☎大數據分析第三步:運算
為達成預測未來的目的,機器可以透過分類、迴歸分析、排序、關聯分析等方式找出其中規律,並運用決策樹、遺傳演算法、人工神經網路等模型進行計算。

☎大數據分析第四步:視覺化
經過分析後的數據仍是數字與列表,不易閱讀。因此可搭配視覺化工具,將數據轉化為較容易閱讀與理解的形式。

2.參考文獻:
(1).認識大數據定義、分析與工具

8.視覺化常用工具

1.三大視覺化工具:Power BI,Tableau,Data Studio
功能:都能夠製作Dashboard(互動儀表板,報表平台)


(1)Power BI:微軟Microsoft
(1-1)費用:
☎免費版:若要編輯或瀏覽 Power BI Dashboard 僅能確保每個使用者都有在桌面下載 Power BI。
但免費PC版 Power BI 僅能在 Windows 上使用,
Mac 使用者僅能夠過網頁/付費方式使用
☎付費版:Power BI 可透過企業全體購買 Pro License(每個月300元),進而能夠做到網頁版共用。

☎付費版:公司內可以購買整個 Office 365 package(已經包含 Power BI Pro License),以利內部資料互通,大家也不用另外在電腦下載應用程式,直接網路編輯與瀏覽即可,Mac 使用者也能進而編輯
☎付費版:Power BI Premium,每月每個人600元。
Power BI定價參考網址

(1-2)功能:
Power BI 基本上功能與Tableau大同小異。
Power BI的操作比較簡單,更直覺化(Tableau操作較複雜)。
Power BI同時可支援 Python & R 的視覺化工具,
Power BI 的 DAX 語法相較 Tableau 好懂。


(2)Tableau
(2-1)費用:
☎Tableau Public 是一個免費的平台
☎Tableau Prep 免費試用30天
☎Tableau Desktop 免費試用14天
☎Tableau Server 免費試用
☎CRM Analytics(原稱 Tableau CRM)
認識大數據定義、分析與工具
☎Tableau 在企業級規模部署時Power BI比較便宜,因為雖然Power BI 隨附於O365中,但若要企業級部署,考慮Power BI Pro與Power BI Premium 間的功能差距,若真的要能做到 Tableau Server 大部分的功能,是一定需要 Premium 的,不然會受到算力、數據量大小、協作功能等的差距影響,很難做到企業級部署。
而Power BI Premium 在2021/02時所記錄的起始報價為 台幣 150,120。
Tableau的產品生態:


(2-2)功能:
☎功能強大。
☎2020/01年時統計,世界500強企業裡面96%是Tableau的客戶。


(3)Data Studio
(3-1)費用:
☎google雲端軟體,完全免費的平台

(3-2)功能:
☎優點:因為 Google 產品大多都是可開權限共享,
所以要結合Google 其他應用程式(Big Query, Google Analytics),就可以直接串接到 Data Studio,因為便利而使用它。
☎優點:雲端使用,是目前線上最流暢的(因為google產品都是雲端產品),而且可以共同編輯
☎缺點:功能性而言,現在 Data Studio 在細節調整上還是略輸 Power BI 與 Tableau 一些


2.BI(Business Intelligence,商業智慧)市場分成2類:
(1)自助式分析組別:
組織裡面每個人都有能力利用此組別內的BI工具連接數據與探索數據,發表屬於自己的數據見解
例如:Power BI,Tableau,Data Studio

(2)報表組別:
大部份情況之下,因需要撰寫大量函式或需要寫SQL,需要由統一專業部門開發,如IT單位
例如:Finereport,Microstrategy



3.參考文獻:
(1).Tableau 與 Power BI 完整比較指南
(4).Tableau VS. PowerBI

9.大數據的類型:結構化、非結構化、半結構化資料

1.大數據的類型:結構化、非結構化、半結構化資料




(1)結構化資料:這類資料最容易整理和搜索,
☎主要包括:財務資料、機器日誌、人口統計明細等。
結構化資料很好理解,類似於 Excel 試算表中預定義的行列佈局。
這種結構下的資料很容易分門別類,資料庫設計人員和管理員只需要定義簡單的演算法就能實現搜索和分析。
不過,即使結構化資料數量非常大,也不一定稱得上大資料,因為結構化資料本身比較易於管理,不符合大資料的定義標準。
一直以來,資料庫都是使用 SQL 程式設計語言管理結構化資料。
SQL 是由 IBM 在 20 世紀 70 年代開發的。

(2)非結構化資料:
☎因為web2.0盛行後產生很多非結構資料。
☎(web 2.0內容:透過網路應用,以使用者為中心,促進網路上人與人間的資訊交換和協同合作)
☎(web 2.0範例:網路社群、網路應用程式、社群網站、部落格、Wiki)
☎資料包括:社交媒體內容、音訊檔、圖片、開放式客戶評論等。
☎這些資料符合大數據定義中:『大而複雜』的要求,也因此這些資料通常很難用標準的行列關係型數據庫捕獲。
大多數情況下企業若想搜索、管理或分析大量非結構化資料,只能依靠繁瑣的手動流程。
毫無疑問,分析和理解這類資料能夠為企業帶來價值,但是執行成本往往太過高昂。而且,由於耗時太長。
但是因為無法存儲在試算表或關係型數據庫中,所以非結構化資料通常存儲在資料湖、資料倉庫和 NoSQL 資料庫中。

(3)半結構化資料:
☎半結構化資料是結構化資料和非結構化資料的混合體。
☎例如:電子郵件,
因為其中的正文:屬於非結構化資料,
而寄件者、收件人、主題和日期:屬於結構化資料。
使用地理標記、時間戳記或語義標記的設備也可以同時提供結構化資料和非結構化內容。


3.參考文獻:
(1).什麼是大數據
(2).web 2.0
(4).Tableau VS. PowerBI

 

 

範例1-2.數據分析3部曲,與對應的工作職缺

(1)研究數據分析的3步驟圖:
☎步驟1:學習基礎數據分析1:pandas
☎步驟2:學習基礎數據分析2:SQL
☎步驟3:學習進階數據分析3:人工智慧(機器學習,深度學習)



(2)數據分析的相關工作職缺(數據分析職位的技能光譜圖):
☎工作職稱:DA/BA/DS/DE:
Business Analyst商業分析師(商業決策建議)
Data Engineer數據工程師(基礎第一線數據處理)
Data Analyst資料分析師(適用各領域的數據處理工作)
Data Scientist資料科學家(建模,人工智慧)




(3)商業分析決策的4步驟圖:
☎1.資料處理
☎2.資料分析
☎3.資料視覺化
☎4.商業分析決策




(4)資料分析常用工具:
☎1.python/pandas
☎2.SQL
☎3.power BI,tableau
☎4.機器學習,深度學習



 

範例1-3.數據分析常用工具


(1)資料分析常用工具:
☎1.python/pandas
☎2.SQL
☎3.power BI,tableau
☎4.機器學習,深度學習




(2)數據相關工具的職缺數排行榜2016:





(3)數據相關工具的職缺數排行榜2020:


 

範例1-4.數據相關的證照


(1)資料分析相關的證照:

☎1.中華企業資源規劃學會,大數據分析師
☎2.商用數據應用師

 

範例1-5.數據分析的內容是什麼?


數據分析的內容主要分三種(統計,比較,預測)
(統計出現次數,分類比較,預測趨勢)


【一,基礎數據分析(python/pandas)】

1.查詢資料(1)

1.查詢資料(2)

1.查詢資料(3)

2.頻數分析,統計數量

3.(分1群)比較分析

4.描述性統計分析,直方圖,箱型圖

6.(分2群)交叉分析表,樞紐分析表

7.分群分析的5種題型

8.樞紐分析表,交叉分析圖的花式變化與進階技巧



【二,進階數據分析(機器學習/深度學習)】

11.關聯性分析association

12.迴歸預測分析regression

13.分類預測classification

 
chp6. 商業資訊系統的方法
目錄 1.介紹架設網站的2種方法 2.商業資訊系統的三層架構 3.常用的架設Apache主機與mysql的工具
4.用Apache架站練習(php網頁)
5.用IIS架設網站練習(asp.net網頁)


1.架設網站方法:
(1)架設網站的方法,有很多種,不只2種
但是本課程,只介紹2種


2.架站的主體對象網頁 = 後端網頁的種類:
(1)常見的後端資料庫網頁種類:
asp
ASP.NET
JSP
PHP
python django
NodeJS

(2)範例:
☎富邦momo購物網:Jsp網頁
https://www.momoshop.com.tw/main/Main.jsp

☎民視消費高手購物網:php網頁
https://www.pure17go.com.tw/login.php

☎選課系統網頁:asp.net網頁(aspx)

☎fandora:node.js網頁

☎中醫查詢系統:python django網頁



3.本課程,只介紹2種後端網頁的架站方法:
ASP.NET
PHP


2.商業資訊系統的三層架構

商業資訊系統的三層架構:
A.客戶端app(client,前端):html,javascript
B.伺服器網頁(server,後端):php,asp.net,python-django
C.資料庫(database):mySQL,SQL server



3.常用的架設Apache主機與mysql的工具

常用的php架設主機工具:
(1).phpstudy:
特色:華人主機架設工具,免費,中文界面,一次安裝的集成包。該套裝程式集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安裝,無須配置即可使用,是非常方便
下載:phpstudy官網

(2).WAMP:
特色:Windows + Apache + MySql + PHP
WampServer是一款由法國人開發的Apache Web伺服器、PHP解譯器以及MySQL資料庫的整合套裝軟體。
wampserver支援22種語言,其中有中文簡體和中文繁體。
最大的優點:可以執行各種php的版本(PHP5 到 PHP7),其它的工具都只能夠執行單一版本php,所以有些舊版程式,就無法執行了。
圖示
下載:官網下載

(3).LAMP:
特色:Linux + Apache + MySql + PHP
下載:官網下載

(4).MAMP:
特色:MAC+ Apache + MySql + PHP(在windows也可以安裝)
MAMP 可同時支援 Apache, Nginx 網頁伺服器與其他常用的 PHP, MySQL, OpenSSL, APC, APCu, eAccelerator, XCache, OPCache, Python, Perl, phpMyAdmin, ImageMagick… 等各種套件與應用,安裝好之後只要把你的網頁或 WordPress, XOOPS… 等架站程式放到指定的資料夾之後就能開始運作。不用複雜的調整與設定,裝好軟體能有一個堪用的網頁伺服器環境。
比較特別的是,MAMP 可同時支援 Apache 與 Nginx 兩種不同的網頁伺服器與多個版本的 PHP
注意:若只想使用免費版 MAMP 的話,在安裝過程就不要勾選「MAMP PRO」這個選項,MAMP PRO 支援的功能與可用元件比較多,但只能試用14天,之後就必須付費才能繼續使用
下載:官網下載

(5).Xampp :
特色:xampp is x-os, apache, mysql, php , perl.
XAMPP是一套幫你把LAMP或WAMP環境整合好的安裝程式。上面網址是XAMPP的中文官方網站,目前它支援Linux、Windows、 MacOS、Solaris四種作業系統平台
下載:官網下載

從他們的名字就可以比較出來: AMP的A:是 Apach,
M:是 MySQL
P:是PHP
至於他們的開頭:L 是 Linux,
W 是windows ,
M 是 MAC,
X 是 x-os

(6).AMPPS:
特色:Apache + MySQL + PHP + Python + Softaculous auto-installer.
AMPPS,可架好網頁主機,還有超過250種知名的PHP架站程式可安裝,例如:架設WordPress、PhpBB、XOOPS、Joomla、osCommerce…
AMPPS就是「Apache + MySQL + PHP + Python + Softaculous auto-installer」的縮寫,
PHP跟Python都是現在非常熱門的網頁程式語言,
Softaculous auto-installer則是一套網站程式自動安裝工具,常與虛擬主機的管理後台(如cPanel、DirectAdmin、Plesk、H-Sphere…), 相結合,讓使用者可以快速地安裝各種網站程式
下載:官網下載


4.用Apache架站練習(php網頁)

01.下載架站軟體:xampp官網下載

03.練習範例:源碼
A.貓走路網頁(html)
B.網頁模板1網頁模板2(html)

C. discuz論壇範例(php+mySQL資料庫,解壓縮後,複製upload到www下,直接http://localhost/upload/安裝)
discuz論壇3.4x版(google雲端)
☎discuz論壇3.4x版(老師主機下載)
D.PHP討論區範例(必須先在mySQL建立一個任意名稱資料庫,然後再安裝:複製upload到www下,直接http://localhost/upload/安裝)
解壓縮,將upload複製到www
帳號密碼root


常用的論壇程式:Molyx,Discuz,PHPwind,BMB
範例:
常見的的論壇程式有: 
1. vBB (PCZone ) 
2. IPB ( MSFN ) 
3. phpBB ( 竹貓
4. Discuz ( 大多數中文網站載點二
5. PHPWind ( 數位男女 )


5.用IIS架設網站練習(asp.net網頁):
(1)什麼是IIS
☎IIS:
= Internet Information Services (IIS)
= 網際網路資訊服務
= 架設主機的工具
☎IIS所運行的後端網頁,只能夠執行Asp.net, ASP網頁


(2)在Windowns 10安裝IIS的方法
講義:在Windowns 10安裝IIS的方法
教學網頁1:Windowns 10使用IIS
教學網頁2:Windowns 10使用IIS
教學網頁3:Windowns 10使用IIS

(3)在Windowns server 2019 安裝IIS的方法
講義:在Windowns server 2019 安裝IIS的方法

(4)如何用IIS架網站
講義:如何用IIS架網站

(5)如何用IIS架FTP檔案伺服器
講義:如何用IIS架FTP檔案伺服器


(6)架站練習(asp.net網站)
(htm網站)
A.貓走路網頁(html)
B.網頁模板(html)

(以下為ASP.NET網站)
C.☎iPod網路商店(asp.net+Access資料庫)
D.訪客留言簿(asp.net+Access資料庫)
E.拍賣網站(asp.net+Access資料庫)
F.☎shop_V9_5商業購物網站(asp+Access資料庫)
G.網路商店(asp.net+SQL Server 資料庫)
H.各類網站源碼軟體(asp.net+Access資料庫)


 

 

1.VisLab,VisCam簡介
VisLab:AI圖像檢測軟體
VisCam:AI影像辨識光學模組
VisLab,VisCam簡介簡報

2.VisLab簡介
(1)VisLab:免費,下載使用

☎VisLab軟體下載:
官網:下載VisLab
安裝時,會詢問序號,不理它,再開一次,即可

☎VisLab使用手冊:
官網:VisLab使用說明書

VisLab係由智泰科技耗時數年自主開發的AI模型訓練套裝軟體,可應用於各行各業上。
透過簡易且可視化的操作介面,讓未曾學習過程式語言與不孰悉AI資料庫的各界人士,都能藉由VisLab立即應用AI技術所帶來的便利性

(2)VisLab有影像辨識三大功能:
☎影像分類:辨識這張圖片上貓,狗,是撲克牌9,10,11,12,13,1
☎影像偵測:偵測這張圖片的兩個物件,框框1是貓,框框2是夠
☎影像分割:把這張圖片的貓的區域,分割出來(有範圍,面積),可應用於醫學影像辨識(辨識病灶區域)
成果圖片

(3)三種工具:
上述分類偵測分割三大功能,其中的每個功能皆有『標記、訓練、驗證』三個工具
成果圖片
成果圖片
成果圖片

(4)圖形化操作界面,不需要寫程式碼
在VisLab中有分類、偵測與分割功能,每種功能都具備標記、訓練與驗證工具,使用者透過圖片針對其目的輕鬆進行標記,標記後可依照需求調整參數進行訓練,
目前已有36種網路模型可供使用,訓練過程均可透過可視化介面控制,使用者亦可依照個人時間選擇中斷或接續訓練,最後訓練完成的AI模型,透過可視化的驗證工具輕鬆檢視其訓練成果,決定是否串接設備與重新標記或訓練的依據

(5)AI實力分析:
☎VisLab可以處理大多數的工業影像辨識專案。
☎VisLab可以處理大多數的學界影像辨識研究。
☎智泰科技所負責的業界AI專案,與自行下載的VisLab功能幾乎類似。
☎VisLab幾乎可以處理大多數的AI影像辨識問題。
(可以處理:車牌辨識,物種辨識,醫學影像辨識)
(無法處理:人臉辨識)

(5)各種實際應用:
智慧醫療(影像分割)
智慧醫療(影像分類)
智慧醫療(物件偵測)
鐵道安全檢查(物件偵測)
自動駕駛(影像分類)
智慧零售(物件偵測)

(6)最低硬體配備需求:
智慧醫療(影像分割)

2.VisCam簡介
(1)功能:
☎配備相機鏡頭,可以即時辨識
☎可以事先部署VisLab 的AI參數模型
VisCam功能
VisCam配備示意圖
為深度學習圖像辨識打造的檢測模組,可將VisLab輸出之檢測模型搭載到VisCam系統中,配合專屬的AI相機、光源進行產線即時智慧檢測。此外,VisCam也可同時作為資料蒐集器,截取、管理檢測圖像與資料庫,進而支援深度學習模型在VisLab中接續學習。


2.VisLab,VisCam教學影片
官網:教學用品
共9部教學影片。使用者可依據需求功能選擇觀看的段落,並搭配試用版軟體進行練習。

(1)VisLab軟體下載:
官網:下載VisLab
安裝時,會詢問序號,不理它,再開一次,即可

(1)VisLab使用手冊:
官網:VisLab使用說明書


(1)Classification 分類器
VisLab 教學影片1 - CFL 分類器 標記工具教學Classification Lable Tool
官網:VisLab 教學影片1
VisLab 教學影片2 - CFT 分類器 訓練工具教學Classification Trainer
官網:VisLab 教學影片2
VisLab 教學影片3 - CFV 分類器 驗證工具教學Classification Verify
官網:VisLab 教學影片3

(2)Object Detection 物件偵測
VisLab 教學影片4 - ODL 物件偵測 標記工具教學Object Detection Lable Tool
官網:VisLab 教學影片4
VisLab 教學影片5 - ODT 物件偵測 訓練工具教學Object Detection Trainer
官網:VisLab 教學影片5
VisLab 教學影片6 - ODV 物件偵測 驗證工具教學Object Detection Verify
官網:VisLab 教學影片6

(3)Segmentation 分割
VisLab 教學影片7 - SEL 分割 標記工具教學Segmentation Lable Tool
官網:VisLab 教學影片7
VisLab 教學影片7 - SEL 分割 標記工具教學Segmentation Lable Tool
VisLab 教學影片8 - SET 分割 訓練工具教學Segmentation Trainer
官網:VisLab 教學影片8
VisLab 教學影片7 - SEL 分割 標記工具教學Segmentation Lable Tool
VisLab 教學影片9 - SEV 分割 驗證工具教學Segmentation Verify
官網:VisLab 教學影片9

3.範例1:Classification分類器:標記工具
☎目的:把收集來的圖片素材,加上標記label(例如,貓,狗)
☎方法:使用分類器/標記工具

(1)Classification 分類器教學影片
VisLab 教學影片1 - CFL 分類器 標記工具教學Classification Lable Tool
官網:VisLab 教學影片1
VisLab分類器(操作篇)簡報
官網:VisLab使用說明書


(2)下載圖片素材檔案:
下載圖片素材檔案
☎圖片要分成三個目錄:train,test,output(名稱自訂,可以其它名稱)
示意圖

(3)圖片分類的操作流程:
☎標記
☎訓練
☎驗證
示意圖

(4)標記:振作步驟:
步驟一:先建立 train 、testtest 與output output 資料夾。
示意圖
步驟二:將照片分別放置 train 與testtest 資料夾中。
步驟三:開啟 VisLab VisLab VisLab,選取分類器
示意圖
步驟四:點選工具列下方第一個 「開新設定檔」,選取欲標記的資料夾 (train/test) (train/test)。
示意圖
示意圖
示意圖
步驟五:分類標籤新增名稱 (Cats 與Dogs) 並進行標記。
示意圖
進行標記
示意圖
示意圖
步驟六:標記完成,回首頁。

☎注意:先做train的標記
➜做完後,一定要先按Home首頁
➜才能自動產生一個標記xml檔案(LabelMap.pbtxt),才算完成
➜才能開始做下一個test目錄的標記

(5)標記:要記得完成三個目錄的標記(train, test, output):

4.範例2:Classification分類器:訓練工具
☎目的:把加上標記label(例如,貓,狗)圖片,進行訓練
☎方法:使用分類器/訓練工具

(1)Classification 分類器教學影片
VisLab 教學影片2 - CFT 分類器 訓練工具教學Classification Trainer
官網:VisLab 教學影片2
VisLab分類器(操作篇)簡報
官網:VisLab使用說明書

(3)圖片分類的操作流程:
☎標記
☎訓練
☎驗證
示意圖

(4)訓練:振作步驟:
步驟一:進入分類器的訓練工具後,從資料中依序將train、test與output資料夾。 資料夾。
示意圖
示意圖
示意圖
示意圖
步驟二:點選開始訓練,開始製作AI 模型檔。
示意圖
步驟三:訓練完成取得AI模型檔,回首頁。
示意圖
☎注意:先做train的標記
➜做完後,一定要先按Home首頁
➜才能自動產生一個標記xml檔案(LabelMap.pbtxt),才算完成
➜才能開始做下一個test目錄的標記


5.範例3:Classification分類器:驗證工具
☎目的:把已經訓練好的模型,拿來驗證圖片
☎方法:使用分類器/驗證工具

(1)Classification 分類器教學影片
VisLab 教學影片3 - CFV 分類器 驗證工具教學Classification Verify
官網:VisLab 教學影片3
VisLab分類器(操作篇)簡報
官網:VisLab使用說明書

(3)圖片分類的操作流程:
☎標記
☎訓練
☎驗證
示意圖

(4)驗證:振作步驟:
步驟一:進入分類器的驗證工具後,從資料中依序導入test資料夾與AI模型檔(放置於output資料夾中)。
示意圖
示意圖
示意圖

步驟二:點選開始分析。
示意圖
步驟三:分析完成,看成績。
示意圖
示意圖


6.範例4:Object Detection 物件偵測:標記工具
☎目的:把收集來的圖片素材,加上標記label(例如,撲克牌9,10,11,12,1)
☎方法:使用物件偵測/標記工具

(1)Object Detection 物件偵測教學影片
VisLab 教學影片4 - ODL 物件偵測 標記工具教學Object Detection Lable Tool
官網:VisLab 教學影片4
VisLab物件偵測(操作篇)簡報
官網:VisLab使用說明書

(2)下載圖片素材檔案:
下載圖片素材檔案
☎圖片要分成三個目錄:train,test,output(名稱自訂,可以其它名稱)
示意圖

(3)圖片物件偵測操作流程:
☎標記
☎訓練
☎驗證
示意圖

(4)標記:振作步驟:
步驟一:先建立 train、test 與output資料夾。
示意圖
步驟二:將照片分別放置 train 與test 資料夾中。
步驟三:開啟 VisLab,選取物件偵測工具
示意圖
步驟四:點選工具列下方第一個「開新設定檔」,取欲標記的資料夾 (train/test) (train/test) 。
示意圖
步驟五:分類標籤新增名稱 (nine (nine至ace) 並進行標記。
示意圖
示意圖
步驟六:標記完成,回首頁。
步驟七:再標記test目錄,再回首頁。

☎注意:先做train的標記
➜做完後,一定要先按Home首頁
➜才能自動產生一個標記xml檔案(LabelMap.pbtxt),才算完成
➜才能開始做下一個test目錄的標記


7.範例5:Object Detection 物件偵測:訓練工具
☎目的:把標記label(例如,撲克牌9,10,11,12,1)進行訓練
☎方法:使用物件偵測/訓練工具

(1)Object Detection 物件偵測教學影片
VisLab 教學影片5 - ODT 物件偵測 訓練工具教學Object Detection Trainer
官網:VisLab 教學影片4
VisLab物件偵測(操作篇)簡報
官網:VisLab使用說明書

(2)圖片物件偵測操作流程:
☎標記
☎訓練
☎驗證
示意圖

(3)訓練:振作步驟:
步驟一:進入物件偵測的訓練工具後,從資料中依序將 訓練工具後,從資料中依序將 訓練工具後,從資料中依序將 訓練工具後,從資料中依序將 訓練工具後,從資料中依序將 traintrain train、testtest 與output output output資料夾。
步驟二:點選開始訓練,製作AI模型檔。
示意圖
步驟三:訓練完成取得AI模型檔,回首頁。

(3)訓練參數說明:
☎招回率 (Recall) :又稱查全率,在資訊檢索系統中,找出相關料的筆數與文件庫中應有相關資料總比值。
☎精確率 (Precision):又稱查準率,在資訊檢索系統中,找出相關料的筆數與系統找出資料總比值。
☎F度量 (F-measure):是一種同時兼顧查準率(precision)與查全率(recall)
的度量方式,其公式為 2XPXR/(P+R 2XPXR/(P+R )

☎舉例: 狗共有 50 張圖片,而在系統回傳的 100 張圖片,只有 20 張是狗的圖片。
招回率: 20/50=0.4
精確率: 20/100=0.2
F度量: 2X0.4X0.2/(0.4+02)=0.27
示意圖


8.範例6:Object Detection 物件偵測:驗證工具
☎目的:驗證test標記label(撲克牌9,10,11,12,1)進行驗證
☎方法:使用物件偵測/驗證工具

(1)Object Detection 物件偵測教學影片
VisLab 教學影片6 - ODV 物件偵測 驗證工具教學Object Detection Verify
官網:VisLab 教學影片6
VisLab物件偵測(操作篇)簡報
官網:VisLab使用說明書

(2)圖片物件偵測操作流程:
☎標記
☎訓練
☎驗證
示意圖

(3)驗證:振作步驟:
步驟一:進入物件偵測 的驗證工具後,從資料中依序導入 test 資料夾與與 AI 模型檔(放置於output資料夾中 )。
示意圖
步驟二:點選開始分析。
步驟三:分析完成,看成績。
示意圖

(3)驗證參數說明:
示意圖
示意圖


9.範例7:Segmentation 分割:標記工具
☎目的:把收集來的圖片素材,加上標記label(例如,矩形,三角形,圓形)
☎方法:使用分割/標記工具

(1)Segmentation 分割教學影片
VisLab 教學影片7 - SEL 分割 標記工具教學Segmentation Lable Tool
官網:VisLab 教學影片7
官網:VisLab使用說明書

(2)下載圖片素材檔案:
下載圖片素材檔案
☎圖片要分成三個目錄:train,test,output(名稱自訂,可以其它名稱)
示意圖

(3)Segmentation 分割操作流程:
☎標記
☎訓練
☎驗證
示意圖

(4)標記:振作步驟:
步驟一:先建立 train、test 與output資料夾。
步驟二:將照片分別放置 train 與test 資料夾中。
步驟三:開啟 VisLab,選取Segmentation 分割工具
示意圖
步驟四:點選工具列下方第一個「開新設定檔」,取欲標記的資料夾 (train/test) (train/test) 。
示意圖
步驟五:分類標籤新增名稱 (矩形,三角形,圓形)。
步驟六:使用上方的『矩形工具,圓形工具,三角形工具』圈選範圍,並進行標記
步驟七:標記完成,回首頁。
步驟八:再標記test目錄,再回首頁。

☎注意:先做train的標記
➜做完後,一定要先按Home首頁
➜才能自動產生一個標記xml檔案(LabelMap.pbtxt),才算完成
➜才能開始做下一個test目錄的標記


10.範例8:Segmentation 分割:訓練工具
☎目的:把收集來的圖片素材,加上標記label(例如,矩形,三角形,圓形)
☎方法:使用分割/標記工具

(1)Segmentation 分割教學影片
VisLab 教學影片8 - SET 分割 訓練工具教學Segmentation Trainer
官網:VisLab 教學影片8
官網:VisLab使用說明書

(2)Segmentation 分割操作流程:
☎標記
☎訓練
☎驗證
示意圖

(4)分割:訓練步驟:
步驟一:進入物件偵測的訓練工具後,從資料中依序將 訓練工具後,從資料中依序將 訓練工具後,從資料中依序將 訓練工具後,從資料中依序將 訓練工具後,從資料中依序將 traintrain train、testtest 與output output output資料夾。
步驟二:點選開始訓練,製作AI模型檔。
示意圖
步驟三:訓練完成取得AI模型檔,回首頁。




11.範例9:Segmentation 分割:驗證工具
☎目的:驗證test標記label(矩形,圓形,三角形)進行驗證
☎方法:使用分割/驗證工具

(1)Segmentation 分割教學影片
VisLab 教學影片9 - SEV 分割 驗證工具教學Segmentation Verify
官網:VisLab 教學影片9
官網:VisLab使用說明書

(2)Segmentation 分割操作流程:
☎標記
☎訓練
☎驗證
示意圖

(4)分割:驗證步驟:
步驟一:進入物件偵測 的驗證工具後,從資料中依序導入 test 資料夾與與 AI 模型檔(放置於output資料夾中 )。
示意圖
步驟二:點選開始分析。
步驟三:分析完成,看成績。
示意圖
示意圖

(3)驗證參數說明:
示意圖
示意圖



12.範例10:VisCam

1.VisCam簡介
(1)功能:
☎配備相機鏡頭,可以即時辨識
☎可以事先部署VisLab 的AI參數模型
VisCam功能
VisCam配備示意圖
為深度學習圖像辨識打造的檢測模組,可將VisLab輸出之檢測模型搭載到VisCam系統中,配合專屬的AI相機、光源進行產線即時智慧檢測。此外,VisCam也可同時作為資料蒐集器,截取、管理檢測圖像與資料庫,進而支援深度學習模型在VisLab中接續學習。

2.下載安裝VisCam
(1) ☎下載VisCam軟體
官網:下載VisCam軟體
注意:VisCam需要序號(要購買),VisLab是免費版。

2.若沒有webCam,可以用手機安裝iVCam,就可以用手機掃描物件,達成自動辨識
(1)iVCam的功能:
☎取代webCam,能夠把手機的鏡頭,同步轉送到電腦播放
☎注意:在校內使用iVCam,因為校內有封鎖,所以手機的上網必須登入校內wifi,才能使用
☎步驟1:電腦安裝iVCam,手機安裝iVCam
☎步驟2:手機的上網必須登入校內wifi
☎步驟3:查詢電腦的IP4位址

(2)安裝iVCam:
下載安裝iVCam
☎注意:安裝完iVCam,它會自動偵測需要安裝最新版本,還要再安裝一次iVCam。

(3)下載VisCam使用說明書:
下載VisCam使用說明書



13.VisLab 進階操作 &蒐集圖片方式

1.下載講義
下載講義

2.深度學習/資料查詢的工具1:kaggle
(1)功能:
☎在Kaggle上面還有一個Dataset專區。往往我們在做分析的時候,最缺的就是整理好的資料,如果要在自己用API或是爬蟲去抓資料,會耗費許多的時間跟精力,在Dataset專區我們可以看到許多已經被整理好的資料提供大家下載。
☎Kaggle是全世界公認最大的資料科學社群,在Kaggle上隨時都有各種資料分析的比賽正在進行,由於這些比賽都會提供高額的獎金,因此會吸引全世界優秀的資料科學家前來比賽,並有許多熱愛分享的科學家在比賽過後再討論區留下他們的當初思考問題的邏輯以及解題的脈絡,研讀上面的討論串對於提升自己各方面的思考能力有很大的幫助。
☎其他類似的網站像是KDD cup, 中國的天池、DataCastle、DataFountain。
☎在Kaggle上面的比賽有分不同的類別,對於剛入門的初學者來說,上面很多比賽並不是那麼的適合,比如說有些比賽光是資料集就30–40GB,對於一般人的電腦來說,這樣的資料量過大,可能光是試跑一次Model就要好幾天或是Memory Out、以及大部分的影像辨識比賽都需要專門的GPU硬體設備,如果只用CPU也會跑非常久。
(2)網站:
kaggle網站
網站使用教學

3.深度學習/資料查詢的工具2:papers with code
(1)功能:
☎最新機器學習論文哪裡找?免費平台 Papers with Code 可搜尋即時排名、抓code
☎隨著機器學習討論度越來越高,以此為主題的論文數量也越來越多了。要怎麼不花錢、不費時間,又能找到最新最優質的 AI 論文呢?別怕!論文搜尋神器 Papers with Code 可以解決你的困難
☎AI 所有領域最優資料搜尋神器」— Papers with Code
☎網站上有超過 2500 多個排行榜和 20,000 多個論文結果。此外,結果現在可以直接鏈接到 arXiv 中的表格,只需要輕輕一點 result,就能夠提取出論文結果來
(2)網站:
papers with code網站
papers with code網站使用教學

4.自己收集圖片:到google輸入:批量圖片下載
到google輸入:批量圖片下載

5.使用Chrome 擴充功能:Imageye 免費圖片下載器,批次下載網頁所有圖檔
Imageye使用教學
play store下載:Image downloader - Imageye