
소수점 데이터의 처리
2423.78 ... DECIMAL(6,2) , NUMERIC(6,2)
int, int unsigned 차이
int ... 32 bit 정수(-2147483648~-1, 0~2147483647) 대략 -21억~+21억
int unsigned ... 32 bit 정수(0~2147483647 + 2147483648) 대략 0~+42억
유저(users) --------------------- 자이로센서데이터(gyro_rf)
1 : 0, 1, N(Numerous, 여러개의)
Relation : 일반적인 관계('날씨와 우산판매량의 관계')
Relations : 국가적인 관계(relations) between the two countries.
Relationship : 개인적인 관계(How about your relationship with your girl friend.)
(핵심프로젝트 MySQL SQL문)
-- 테이블 순서는 관계를 고려하여 한 번에 실행해도 에러가 발생하지 않게 정렬되었습니다.
-- users Table Create SQL
-- 테이블 생성 SQL - users
use campus_IoT_secret;
CREATE TABLE users
(
user_id VARCHAR(30) NOT NULL COMMENT '유저 아이디',
user_pw VARCHAR(30) NOT NULL COMMENT '유저 비밀번호',
user_name VARCHAR(50) NOT NULL COMMENT '유저 이름',
user_height DECIMAL(4, 1) NOT NULL COMMENT '유저 키',
user_weight DECIMAL(4, 1) NOT NULL COMMENT '유저 몸무게',
user_birthdate DATE NOT NULL COMMENT '유저 생년월일',
joined_at DATETIME NOT NULL COMMENT '유저 가입일자',
PRIMARY KEY (user_id)
);
-- 테이블 Comment 설정 SQL - users
ALTER TABLE users COMMENT '유저';
-- gyro_rf Table Create SQL
-- 테이블 생성 SQL - gyro_rf
CREATE TABLE gyro_rf
(
grf_idx INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '수집 번호',
user_id VARCHAR(30) NOT NULL COMMENT '유저 아이디',
created_at DATETIME NOT NULL COMMENT '수집 시간',
gyro_x DECIMAL(10,2) NOT NULL COMMENT '각속도 X축',
gyro_y DECIMAL(10,2) NOT NULL COMMENT '각속도 Y축',
gyro_z DECIMAL(10,2) NOT NULL COMMENT '각속도 Z축',
acc_x DECIMAL(10,2) NOT NULL COMMENT '가속도 X축',
acc_y DECIMAL(10,2) NOT NULL COMMENT '가속도 Y축',
acc_z DECIMAL(10,2) NOT NULL COMMENT '가속도 Z축',
PRIMARY KEY (grf_idx)
);
-- 테이블 Comment 설정 SQL - gyro_rf
ALTER TABLE gyro_rf COMMENT '오른발 자이로 센서 데이터';
-- Foreign Key 설정 SQL - gyro_rf(user_id) -> users(user_id)
ALTER TABLE gyro_rf
ADD CONSTRAINT FK_gyro_rf_user_id_users_user_id FOREIGN KEY (user_id)
REFERENCES users (user_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
-- Foreign Key 삭제 SQL - gyro_rf(user_id)
-- ALTER TABLE gyro_rf
-- DROP FOREIGN KEY FK_gyro_rf_user_id_users_user_id;
-- gyro_lf Table Create SQL
-- 테이블 생성 SQL - gyro_lf
CREATE TABLE gyro_lf
(
glf_idx INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '수집 번호',
user_id VARCHAR(30) NOT NULL COMMENT '회원 아이디',
created_at DATETIME NOT NULL COMMENT '수집 시간',
gyro_x DECIMAL(10,2) NOT NULL COMMENT '각속도 X축',
gyro_y DECIMAL(10,2) NOT NULL COMMENT '각속도 Y축',
gyro_z DECIMAL(10,2) NOT NULL COMMENT '각속도 Z축',
acc_x DECIMAL(10,2) NOT NULL COMMENT '가속도 X축',
acc_y DECIMAL(10,2) NOT NULL COMMENT '가속도 Y축',
acc_z DECIMAL(10,2) NOT NULL COMMENT '가속도 Z축',
PRIMARY KEY (glf_idx)
);
-- 테이블 Comment 설정 SQL - gyro_lf
ALTER TABLE gyro_lf COMMENT '왼발 자이로 센서 데이터';
-- Foreign Key 설정 SQL - gyro_lf(user_id) -> users(user_id)
ALTER TABLE gyro_lf
ADD CONSTRAINT FK_gyro_lf_user_id_users_user_id FOREIGN KEY (user_id)
REFERENCES users (user_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
-- Foreign Key 삭제 SQL - gyro_lf(user_id)
-- ALTER TABLE gyro_lf
-- DROP FOREIGN KEY FK_gyro_lf_user_id_users_user_id;
-- fsr_rf Table Create SQL
-- 테이블 생성 SQL - fsr_rf
CREATE TABLE fsr_rf
(
fr_idx INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '수집 번호',
user_id VARCHAR(30) NOT NULL COMMENT '유저 아이디',
created_at DATETIME NOT NULL COMMENT '측정 시간',
press_value JSON NOT NULL COMMENT '압력 값',
PRIMARY KEY (fr_idx)
);
-- 테이블 Comment 설정 SQL - fsr_rf
ALTER TABLE fsr_rf COMMENT '오른발 압력 센서 데이터';
-- Foreign Key 설정 SQL - fsr_rf(user_id) -> users(user_id)
ALTER TABLE fsr_rf
ADD CONSTRAINT FK_fsr_rf_user_id_users_user_id FOREIGN KEY (user_id)
REFERENCES users (user_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
-- Foreign Key 삭제 SQL - fsr_rf(user_id)
-- ALTER TABLE fsr_rf
-- DROP FOREIGN KEY FK_fsr_rf_user_id_users_user_id;
-- fsr_lf Table Create SQL
-- 테이블 생성 SQL - fsr_lf
CREATE TABLE fsr_lf
(
fl_idx INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '수집 번호',
user_id VARCHAR(30) NOT NULL COMMENT '유저 아이디',
created_at DATETIME NOT NULL COMMENT '측정 시간',
press_value JSON NOT NULL COMMENT '압력 값',
PRIMARY KEY (fl_idx)
);
-- 테이블 Comment 설정 SQL - fsr_lf
ALTER TABLE fsr_lf COMMENT '왼발 압력 센서 데이터';
-- Foreign Key 설정 SQL - fsr_lf(user_id) -> users(user_id)
ALTER TABLE fsr_lf
ADD CONSTRAINT FK_fsr_lf_user_id_users_user_id FOREIGN KEY (user_id)
REFERENCES users (user_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
-- Foreign Key 삭제 SQL - fsr_lf(user_id)
-- ALTER TABLE fsr_lf
-- DROP FOREIGN KEY FK_fsr_lf_user_id_users_user_id;
-- walking Table Create SQL
-- 테이블 생성 SQL - walking
CREATE TABLE walking
(
walking_idx INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '보행 번호',
user_id VARCHAR(30) NOT NULL COMMENT '유저 아이디',
steps INT NOT NULL COMMENT '걸음수',
distance DECIMAL(10,2) NOT NULL COMMENT '이동거리',
angle DECIMAL(10,2) NOT NULL COMMENT '각도',
PRIMARY KEY (walking_idx)
);
-- 테이블 Comment 설정 SQL - walking
ALTER TABLE walking COMMENT '보행정보';
-- Foreign Key 설정 SQL - walking(user_id) -> users(user_id)
ALTER TABLE walking
ADD CONSTRAINT FK_walking_user_id_users_user_id FOREIGN KEY (user_id)
REFERENCES users (user_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
-- Foreign Key 삭제 SQL - walking(user_id)
-- ALTER TABLE walking
-- DROP FOREIGN KEY FK_walking_user_id_users_user_id;