MySQL 6

AIoT 정규 67일차

대형마트 주차장 관리 키오스크를 위한 데이터베이스 설계 : 대형마트 주차장 관리 키오스크 만들기 프로젝트를 위한 데이터베이스 설계를 진행해보겠다. 전반적으로 차량의 입차 및 출차 정보를 관리하고 주차 요금을 계산하는데 사용할 예정이다. 1.테이블 설계 : Vehicle_parking_manage 테이블 만들기 - vehicle_id: 차량 ID (자동 생성, 기본 키) - vehicle_owner: 차량 소유자 이름 - vehicle_num: 차량 번호 (고유한 값) - entrance_or_exit: 입차 또는 출차 정보 - entry_time: 입차 시간 (기본값: 현재 시간) - exit_time: 출차 시간 - parking_type: 주차 타입 ('정기' 또는 '일반') - img_name: 차..

AIoT 2024.04.19

AIoT 정규 64일차

번호판 인식 프로젝트(完) DB 조회 후 PASS 여부 출력 : 우선 DB(지금의 경우에는 MySQL)와 연결을 하기 위해서 "mysql.connector" 모듈을 설치해 준다. pip install mysql.connector 그다음 DB연결을 위해 필요한 정보들을 변수를 지정해서 설정해 준다. (보안 문제로 별도에 폴더에서 사용하는 게 권장됨) connection = mysql.connector.connect( host='호스트명', user='유저이름', password='비밀번호', database='데이터베이스명', auth_plugin='mysql_native_password' 밑에 auth_plugin을 설정한 이유는 MySQL 데이터베이스에서 사용자 인증에 대한 플러그인을 설정하는 것이다...

AIoT 2024.04.11

AIoT 정규 63일차

2. 번호판 등록 - 데이터 베이스 설계 - DB (MySQL)에 CSV파일 load 하기: 우선 관리 프로그램을 만들기 전에 MySQL에서 DB를 생성한 뒤 CSV파일을 load 해 보겠다. car_id는 db자체적으로 프라이머리 키로 사용하기 위해서 생성하였고 값이 없을 시에는 Auto_increment를 사용해서 값이 증가하게 설계했다. car_owner는 자동차 주인으로 일단은 파일명으로 지정해 놓았고 추후에 차량 소유주의 이름을 입력하기 위해 지정하였다. car_num은 말 그대로 차량번호로 나중에 이미지를 인식해서 db에 해당 차량번호가 있을 시에 만 pass를 하도록 할 것이다. 그리고 car_num에 중복입력이 되는 걸 방지하기 위해서 유니크 조건을 추가하였다. CREATE TABLE Ve..

AIoT 2024.04.09

AIoT 정규 29일차

3) 쿼리문을 이용해서 추천 메커니즘 구상 & 4) GUI를 사용해 해당 기능 구현 : 총 720개 게임 리스트, 143,820개의 리뷰를 MySQL로 LOAD 하는 데는 성공했다. 이제 MySQL 쿼리문사용해 게임 타이틀을 검색하면 리뷰에 달린 좋아요 수를 기준으로 높은 순으로 정렬해서 display 할 수 있게 만들어보자. 간단한 SQL 쿼리문을 만들어보면 다음과 같다. SELECT game_name FROM games WHERE game_name like '%Hogwarts%'; 호그와트라는 키워드를 검색했다고 가정하고 실행시켜 보자. 이제 이런 쿼리문을 사용해서 TkInter로 인터페이스를 꾸며보자. import tkinter as tk import mysql.connector from tkint..

AIoT 2024.02.07

AIoT 정규 28일차

Steam게임 추천 프로그램 만들기 1. 구상 1) 데이터 수집 : 웹 크롤링을 활용해서 Steam사이트에 올라와 있는 게임과 리뷰를 가져와 JSON 파일과 CSV파일로 저장. 2) DB에 테이블 형식으로 저장 : 웹 크롤링으로 수집한 파일을 MySQL에 테이블 형식으로 저장. Game_Id를 Primary Key로 지정하고 "games" 테이블과 "reviews" 테이블사이에 외래키로 설정한다. 3) 쿼리문을 이용해서 추천 메커니즘 구상 : MySQL 쿼리문사용해 게임 타이틀을 검색하면 리뷰에 달린 좋아요 수를 기준으로 높은 순으로 정렬해서 display 한다. 리뷰에는 리뷰어 닉네임, 리뷰어가 플레이해 본 게임수(리뷰 신뢰성 증가), 리뷰어의 리뷰수, 추천 유무, 리뷰 작성일, 리뷰 내용을 displ..

AIoT 2024.02.06

AIoT 정규 25일차

1. SELECT a.empno, a.ename, b.mgr_name, (SELECT dd.dname FROM dept dd WHERE dd.deptno = a.deptno) AS dept_name FROM emp a JOIN ( SELECT a.empno AS mgr_no, a.ename AS mgr_name, b.dname AS mgr_dept FROM emp a JOIN dept b ON a.deptno = b.deptno ) b ON a.mgr = b.mgr_no WHERE a.deptno IN (SELECT DISTINCT aa.deptno FROM emp aa WHERE aa.job = 'MANAGER'); 미션 1 emp테이블에서 부서 인원이 4명보다 많은 부서와 부서번호 인원수 급여의 합을..

AIoT 2024.02.01