1. 이상현상- 잘못된 데이터베이스 설계로 발생하는 오류- 삽입 이상: 데이터를 삽입할 때 불필요한 내용까지 삽입해야 하는 문제- 갱신 이상: 중복된 데이터 중 일부만 갱신되어 발생하는 문제- 삭제 이상: 어떤 데이터를 삭제할 때 다른 유용한 정보도 함께 삭제되는 문제 2. 함수 종속성- 어떤 속성 x(결정자)의 한 값이 다른 속성 y(종속자)에 속한 하나의 값에만 매핑되는 경우- 예: ID → 이름 1) 완전 함수 종속- 기본키를 구성하는 속성 모두가 결정자 역할을 하는 경우2) 부분 함수 종속: 2차 정규화 원인- 기본키를 구성하는 속성 중 일부가 결정자 역할을 하는 경우- 기본키가 복합키이거나 후보키가 결정자인 경우에 부분 함수 종속이 발생할 수 있다3) 이행 함수 종속: 3차 정규화 원인* 결정자..

1. 테이블 만들때 제약조건 설정하기-- borrow 테이블을 정의하세요.CREATE TABLE borrow( customer_number VARCHAR(10), rental_time DATETIME, rental_status ENUM('대여', '반납') NOT NULL, rental_location VARCHAR(20) NOT NULL, kickboard_id VARCHAR(10), CONSTRAINT borrow_pk PRIMARY KEY(customer_number,rental_time), # 기본키 2개 FOREIGN KEY (customer_number) REFERENCES customer (customer_number), customer테입블의 custo..

1. 리눅스 설치1) 리눅스에 mysql 설치# 패키지 리스트 업데이트sudo apt update# mysql 서버 설치sudo apt install mysql-server# mysql 상태 확인sudo systemctl status mysql# mysql 보안 설정sudo mysql_secure_installation# mysql 접속sudo mysql# root 계정/비밀번호 설정ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';FLUSH PRIVILEGES;# 로그인mysql -u root -p2) 윈도우 vscode에서 ubuntu에 설치된 mysql 접속하기- WSL2는 가상 네트워크로 동작해서, MySQL..
1. 데이터는?- 현실 세계에서 수집된 단순한 사실과 값들을 모아 놓은 것 2. 정보란?- 데이터를 특정 목적에의해 해석하거나 가공한 형태 ※ 데이터를 잘 가공해서 => 정보를 만드는것 3. 데이터베이스란?- 데이터가 모여있는것, 한 조직 안에서 여러 사용자와 응용 프로그램이 공동으로 사용하는 데이터들을 통합하여 저장하고운영하는 데이터 4. 파일처리시스템의 한계- 데이터의 구조가 바뀌면 응용프로그램의 구조도 바뀌어야 하기 때문에 응용 프로그램별로 데이터를 생성할 수 있기 때문에 데이터가 중복될 수 있다- 데이터의 무결성을 지킬 수 없다 5. 데이터베이스의 구성요소- 행(row): 칸(형태), record- 튜플: 항에 값이 있을 때- 열(column): 고유의 성질을 갖고 있는 것- 속성: 데이터의 특성..
1. 스택- 후입선출: 마지막에 넣은 데이터가 가장 먼저 나옴- 활용: 재귀 호출, 괄호 짝 맞추기, DFS 등- 주요 연산# 가장 흔한 방법stack = []stack.append(10)top = stack.pop()2. 큐- 선입선출: 먼저 들어간 데이터가 먼저 나옴- 활용: BFS, 캐시, 작업 예약 처리에 사용- collections.deque: 가장 빠르고 많이 쓰임- queue.Queue: 스레드 안전(멀티스레스 환경용)from collections import dequequeue = deque()queue.append(1)queue.append(2)x = queue.popleft()print(queue) # [2] 3. 트리- 계층적 자료 구조. 노드와 간선으로 구성된 비순환 그래프- 이진트..
1. Json- 왜 사용할까? 웹 환경에서 데이터를 주고 받는 가장 표준적인 방식이기 때문에- 키를 이용해 원하는 데이터만 빠르게 추출할 수 있다- 데이터가 쉽게 오염되지 않는다 => 데이터의 구조가 명확하고 규칙이 엄격하기 때문!- 다른 포맷에 비해 용량이 조금 크다 1) JSON과 딕셔너리 변환(*s가 있으면 문자열 다루기)- JSON 문자열을 파이썬 객체(딕셔너리 등)로 : json.loads(JSON문자열)- 파이썬 객체를(딕셔너리를) JSON 문자열로: json.dumps(파이썬객체) 2) 파일 다루기- JSON 파일을 읽어 파이썬객체로(딕셔너리 등): json.load(JSON파일) => python 객체가 됨- 파이썬객체를(딕셔너리 등) JSON 파일에 쓰기: json.dump(파이썬객체를,..

1. 그래프 탐색 : 어떤것(Vertex)들이 연속해서 이어질때(Edge), 모두 확인하는 방법 2. BFS vs DFS- BFS: 자식을 먼저 봄- DFS: 자식의 자식을 먼저 봄 3. BFS 아이디어- 시작점에 연결된 vertex 찾기- 찾은 vertex를 queue에 저장 (들어온 순서대로 나감) => 넓게 퍼지며 탐색- queue의 가장 먼저 것을 뽑아서 반복- 최단거리에 BFS 쓰는 이유? BFS는 가까운 노드부터(거리1짜리 다음 거리2짜리,,,) 차례차례 탐색하기 때문에 처음 도착한 순간이 곧 최단거리가 된다.# 큐에 들어오는 순서[1,2,5,3,4,6]1 => 2랑 5 추가 => 1 제거2 => 2랑 열된 3 => 2제거5 => 5랑 연결된 4 => 5제거3 => 4는 이미 있으니까 넘어감 ..
1. 미니포지란?- conda : 패키지/가상환경 관리도구(명령어) - anaconda: conda + python + 데이터 과학관련 수백개 패키지 포함 배포판 - miniconda: conda + python만 있는 최소한의 anaconda => 기본 채널은 defaults, 상업적으로 사용시 유료- miniforge: miniconda와 같은데, 기본 채널이 conda-forge, 상업 제한 없음- defaults: Anaconda,Inc의 상업 채널, conda install 로 패키지 설치시 해당 채널에서 가져옴- conda-forege : conda 패키지를 위한 커뮤니티 채널(공개적으로 빌드, 배포, 유지보수)* 파이썬 내장 가상환경 도구 venv는 DS/AI 패키지 설치시 문제가 많아 co..
- Total
- Today
- Yesterday
- 고득점 Kit
- 티스토리챌린지
- IH
- 실기
- 스크랩
- llm
- 프로그래머스
- 빅데이터 분석기사
- 갓생
- 줄넘기
- 경제
- Ai
- Python
- 루틴
- 운동
- 습관
- 아침운동
- 30분
- 아침
- 오픽
- 뉴스
- opic
- 영어회화
- 미라클모닝
- 기초
- SQL
- 다이어트
- C언어
- ChatGPT
- 오블완
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |