資料庫管理 Homework 期末專題 楊立偉教授 台灣大學工管系 2018.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

MySQL 基础技能与原理 —— 基础技能 MySQL DBA Team 彭立勋( )
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
应用地球物理卓越人才培养体系构建与实践 吉林大学地球探测科学与技术学院 刘 财 经验交流.
Select 指令 基本結構 WHERE Like語法 Order by與group by Having 與 AS
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
顧客交易紀錄分析實務 概述 26.2 資料分析的過程 26.3 顧客交易紀錄分析說明 26.4 實作一、顧客活動剖析實務演練
SQL的简单查询.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
十一 ASP对数据库的访问.
第2讲 Transact-SQL语言.
数据库技术 实践.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
OceanBase 0.4:从API到SQL 日照
Access数据库程序设计 总复习.
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
資料庫 (Database) SQL Server 2008實作
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
东南大学 数字迎新的探索 东南大学 网络与信息中心 张月琳.
文科计算机小公共课规划教材 Access 程序设计.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
第3章 数据查询与SQL命令.
学习方法建议 首先应该有明确的学习动机,解决思想问题。 然后根据自己实际要有一个明确的学习目标。
Views ,Stored Procedures, User-defined Function, Triggers
JAVA 程式設計與資料結構 第十一章 JDBC.
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2013 Fall.
第六章 學習SQL語言.
Supplement Data Mining 工具介紹 楊立偉教授 台灣大學工管系 2014 Fall 1.
Supplement Data Mining 工具介紹 楊立偉教授 台灣大學工管系 2015 Fall 1.
課程名稱:資料庫系統 授課老師:李春雄 博士
实验二 交互式SQL 邓云.
Chapter 12 T-SQL 語法與 ASP.NET.
資料庫管理 Homework 期末專題 使用MySQL / Windows and Mac 楊立偉教授 台灣大學工管系 2017.
高等資料庫管理系統 Advanced Database Management System
第八章 利用SELECT查詢資料.
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
巨量資料分析與應用 (1) 楊立偉教授 台大工管系暨商研所 2014 Fall.
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2015 Fall.
Data Mining 工具介紹 (Weka / R)
SQL SERVER 一些经典语句 1.
MySQL 結構化查詢語言 MySQL.
第十七章 資料庫SQL 17-1 SELECT 17-2 INSERT 17-3 UPDATE 17-4 DELETE.
資料庫管理 HOMEWORK #4 楊立偉教授 台灣大學工管系 2014 Fall.
資料庫管理 Homework 期末專題 楊立偉教授 台灣大學工管系 2016.
資料庫管理 Homework #4 楊立偉教授 台灣大學工管系 2016.
第20章 MySQL数据库.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
資料庫系統 李翊豪 2017/12/21 Reference
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
学习目标 1、什么是表连接 2、表连接类型 3、表连接区别.
查询与视图 蔡海洋.
第14章 SQL数据查询与操纵 内容提要 本章知识点
SQL查询语句 蔡海洋.
OceanBase 0.4:从API到SQL 日照
第三章 SQL Server数据管理.
SQL語法教學 2015/10/15 John.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
数据分析工具 第10节.
資料庫管理 HOMEWORK #2 楊立偉教授 台灣大學工管系 2013 Fall.
楊立偉教授 台灣科大資管系 © Copyright 2016 by Willie Yang
楊立偉教授 台灣科大資管系 © Copyright 2015 by Willie Yang
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
Presentation transcript:

資料庫管理 Homework 期末專題 楊立偉教授 台灣大學工管系 2018

Requirement 應用真實世界的大數據進行探索性分析,找出有商業價值之應用

主題資料集 主題資料集 下載連結 以7zip解壓縮(含密碼) 2017/1/1 ~ 2017/11/30 bbs、forum、news 匯入至MySQL

2 1 4 3 用MySQL Workbench連接至MySQL後,點選左側Administration 選擇Data Import/Restore,選擇Self-contained File,選擇課程網頁上下載的hw5_content.sql檔案,開始匯入;完成後請選擇Schema中的hw5 (需要一段時間才能完成匯入,注意是否有足夠的磁碟空間)

題目分派 主題資料集 每組任選其一(可與它組交換),分派如下 繳交紙本報告 期末每組上台簡報 組別 資料集1 資料集2 1 (財經)新聞 Movie 6 11 2 Food 7 12 3 Stock 8 13 4 通訊板 9 14 5 合購版 10

作業要求 指派領域 針對該領域所收到的資料,進行分析 設計十個以上具商業價值的問題,並以SQL回答 將問題設計(含SQL及答案)作成報告 有層次地講出一個觀察、一個故事、或一種預測

評分標準 分成10個等級 指派領域 依詳盡用心程度加分 商業問題設計,正確合理 發掘不為人知的資訊 使用MS Excel (Power) Pivot 製作有意義之圖或表,並詮釋之 使用Weka或R或類似工具進行分析,印出結果,並詮釋之 使用一種以上資料彼此解釋某種現象,並詮釋之 例如股市新聞加TEJ股價資料,或Movie加網路公開之票房資料等

Deadline 於 2018.1.3 前繳至 ceiba,並於當天簡報 由組長繳交即可 以 Word檔,做文字說明報告 取名為「組別_hw5.docx」 以 PowerPoint,做簡報(10分鐘內) 取名為「組別_hw5.pptx」 兩者一同壓縮為「組別_hw5.zip」

簡易社群資料分析範例 結合結構性與非結構性資料 結構性資料 非結構性資料 (文字) 以一或多句SQL查詢分析 以標記技巧轉為結構化資料 輔以字串處理函數 再以一或多句SQL查詢分析

社群資料分析 – 以Food為例 列出推噓最熱門的主文 列出正面情緒最高的主文 SELECT title, comment_count, post_time, author FROM content WHERE s_area_name='Food' and content_type='main' ORDER BY comment_count DESC; SELECT title, comment_count, positive_score, post_time, author FROM content WHERE s_area_name='Food' and content_type='main' ORDER BY positive_score DESC;

社群資料分析 – 以Food為例 配合字串處理,統計文章標題類別 left(string, len) 自左邊取len個字 right(string, len) 自右邊取len個字 mid(string, start, len) 自start起取len個字 instr(string, substring) 取出子字串在字串中的位置 可查詢更多字串函數及其使用方法 SELECT mid(title,2,2), count(*) FROM content WHERE s_area_name='Food' and content_type='main' and left(title,1)='[' GROUP BY mid(title,2,2) ORDER BY count(*) DESC;

社群資料分析 – 以Food為例 依餐廳名稱之討論熱門度進行統計 Step 1 以字串處理找到餐廳名稱的起迄位置 ALTER TABLE content ADD pos1 Integer; ALTER TABLE content ADD pos2 Integer; UPDATE content SET pos1=instr(content,'名稱') WHERE s_area_name='Food' and content_type='main'; UPDATE content SET pos2=instr(mid(content, pos1+3, 20), ' ') 增加pos1及pos2欄位 內文有「名稱:○ ○ ○ ○(空格)」者,予以計算 格式不符合或英文餐廳名稱可能取不正確

社群資料分析 – 以Food為例 Step 2 以字串處理取出餐廳名稱,暫存為tmp Step 3 與原表JOIN統計最熱門的餐廳 CREATE TABLE tmp AS SELECT id, title, author, mid(content,pos1+3,pos2) AS shopname FROM content WHERE s_area_name='Food' and content_type='main'; SELECT t.shopname, count(*) FROM content AS c, tmp AS t WHERE s_area_name='Food' and c.content_type='main' and c.id=t.id AND t.shopname<>'' GROUP BY t.shopname ORDER BY count(*) DESC; 若要加速,可將 JOIN 及WHERE條件欄位轉為短文字varchar並建立索引,最後人工過濾雜訊資料

社群資料分析 – 以Food為例 依內容關鍵字詞或特殊人事物做標記 分次逐步進行標記,例如分為「貴」與「便宜」 之後可單用該表,或與原表JOIN做查詢分析 首次 CREATE TABLE tmp2 AS SELECT id, title, author, "很貴" AS tag FROM content WHERE s_area_name='Food' and content_type='main' AND (content like '%好貴%' OR content like '%有點貴%' OR content like '%不便宜%' OR content like '%CP值不高%') 之後 INSERT INTO tmp2 SELECT id, title, author, "便宜" AS tag FROM content AND (content like '%便宜%' AND NOT content like '%不便宜%' OR content like '%CP值高%' OR content like '%高CP%')

社群資料分析 – 以Food為例 列出貴的餐聽 列出便宜的餐廳 SELECT t.shopname, count(*) FROM tmp AS t, tmp2 as g WHERE t.id=g.id AND tag='很貴' and t.shopname<>'' GROUP BY t.shopname ORDER BY count(*) DESC; SELECT t.shopname, count(*) FROM tmp AS t, tmp2 as g WHERE t.id=g.id AND tag='便宜' and t.shopname<>'' GROUP BY t.shopname ORDER BY count(*) DESC;

GOOD LUCK !