Liea
'① 공부' 카테고리의 글 목록 (33 Page)

① 공부

① 공부/SQL

MSSQL사용, 데이터 형식

1. 숫자 데이터 형식 BIT : 숫자 범위는 0또는 1, BOOLEAN형인 참과 거짓에 사용 INT : 정수형, 숫자 범위는 약 -21억 ~ +21억 SMALLINT : 정수형, 숫자범위는 -21,768 ~ 32,767 TINYINT : 양의 정수, 숫자범위는 0 ~ 255 BIGINT : 정수형, 숫자범위는 -2^63 ~ +2^63-1 2. 문자 데이터 형식 CHAR / NCHAR : 고정길이 문자형 VARCHAR : 가변 길이 문자형 NVARCHAR : 가변길이 문자형 ※대용량 데이터베이스를 사용하는 경우, 4글자 미만을 저장하게 될 시 CHAR / NCHAR형식으로 설정하는 것이 INSERT / UPDATE시 더 좋은 성능을 발휘한다. 3. 날짜와 시간 데이터 형식 DATETIME : “YYYY-..

① 공부/SQL

MSSQL사용, 뷰(VIEW)

뷰(VIEW) : 가상의 테이블 - 테이블과 동일하게 보이지만 실제 행 데이터를 가지고 있지 않음 - 테이블과 비슷한 역할을 하도록 SELECT 문을 이용하여 만드는 개체 - 개체가 생성되기 때문에 한번 생성하면 테이블이라고 생각하고 사용해도 될 정도로 (사용자 입장에서는 테이블과 뷰는 동일하게 취급된다.) - 뷰의 장점 1) 보안에 도움이 됨. 주민등록번호, 계정, 금융정보 2) 복잡한 쿼리를 단순화 시킬 수 있다. (WITH CTE와 유사) - 뷰의 단점 1) 일반 쿼리문보다 속도가 약간 느려질 수 있다.(과거) 2) 별도로 뷰를 관리해야 하므로 관리 차원에서 부담이 늘어난다. -- 뷰를 수정할 수 없는 경우 -- 집계 함수를 사용한 뷰 -- UNION ALL, CROSS JOIN 등을 사용한 뷰 -..

① 공부/SQL

MSSQL사용, 테이블 정보 확인

-- 테이블 정보 확인 EXEC SP_HELP userTbl; SELECT * FROM INFORMATION_SCHEMA. TABLES; SELECT * FROM SYSOBJECTS; -- 키 확인 SELECT * FROM INFORMATION_SCHEMA. TABLE_CONSTRAINTS; SELECT * FROM INFORMATION_SCHEMA. TABLE_CONSTRAINTS WHERE TABLE_NAME='userTbl'; -- sysobjects을 이용하여 제약조건, 테이블, 키 정보들을 알 수 있다. SELECT name, TYPE FROM SYSOBJECTS WHERE TYPE='D' -- 제약조건 SELECT name, TYPE FROM SYSOBJECTS WHERE TYPE='U' --..

① 공부/SQL

MSSQL사용, 테이블과 뷰

-- 테이블 생성 : []는 생략 가능을 의미함 CREATE TABLE [스키마_명].테이블_이름 ( 필드명1 데이터형 [속성], 필드명2 데이터형 [속성], 필드명3 데이터형 [속성] ); -- 기본적인 틀 구성 --추가 옵션 적용 : NULL, NOT NULL (기본 값은 NULL) CREATE DATABASE tableDB; USE tableDB; CREATE TABLE userTbl ---회원 테이블 ( userID char(8) NOT NULL, --사용자 아이디 name nvarchar(10) NOT NULL, --이름 birthYear int NOT NULL, --출생년도 addr nchar(2) NOT NULL, --지역(경기, 서울, 경남) mobile1 char(3) NULL, --휴대..

① 공부/SQL

MSSQL사용, 처리 속도 비교 테스트(대용량 테이블 삭제)

--1. 대용량의 샘플 테이블 3개 생성(AdventureWorks에 약 12만건 data가 있는 테이블 복사) SELECT * INTO bigTbl1 FROM AdventureWorks.Sales.SalesOrderDetail; SELECT * INTO bigTbl2 FROM AdventureWorks.Sales.SalesOrderDetail; SELECT * INTO bigTbl3 FROM AdventureWorks.Sales.SalesOrderDetail; SELECT * FROM bigTbl1; SELECT * FROM bigTbl2; SELECT * FROM bigTbl3; --2. 성능 측정을 위해서 SSMS 도구 -> [SQL Server 프로파일러] 실행 -> 추적이름 '삭제비교' -> 템..

① 공부/SQL

MSSQL사용, CTE

- CTE는 기존의 뷰, 파생 테이블, 임시 테이블 등으로 사용되던 것을 대신할 수 있으며, 더 간결한 식으로 보이는 장점이 있음. - CTE는 비재귀적(Non- Recursive) CTE와 재귀적(Recursive) CTE 두 가지 가 있다. * 비재귀적 CTE : 단순한 형태로 복잡한 쿼리 문장을 단순화 시키는 데 사용하기에 적합. --1) 비재귀적(Non-Recursive) CTE --A. 사용자 별 총 구매액 select userid '사용자', sum(price*amount) '총구매액' from buyTbl group by userid; --B. 사용자 별 총 구매액이 많은 사용자 순서로 정렬 출력 select userid '사용자', sum(price*amount) '총구매액' from bu..

① 공부/C

C언어. 로또 번호 생성기

#include #include #include int main(void) { int rotto[6] = { 0 }; int n = 0, check = 0; srand((unsigned)time(NULL)); printf("로또 번호 생성기\n"); printf("▶계속하려면 아무키나 입력하세요\n\n\n"); printf("────── [ 금주의 추천 번호 ] ──────\n"); for (int i = 0; i < 6; i++) { // 랜덤함수 발생 n = 1 + rand() % 45 + 1; for (int y = 0; y < i; y++) { // 배열 a의 y번째 인덱스의 값이 발생된 난수의 값과 같을 때 (즉 중복) if (rotto[y] == n) { i -= 1; // i의 값을 -1 해..

① 공부/C

C언어. 메뉴 주문시스템

#include #define _CRT_SECURE_NO_WARNINGS void sandwich_price(int n); void coffee_price(int n); int main(void) { int menu, cof, sand; printf("============[메뉴]=============\n"); printf(" 1. 커피\n"); printf(" 2. 샌드위치\n"); printf(" 0. 종료\n"); printf("===============================\n\n"); printf("메뉴를 선택하세요: "); scanf_s("%d", &menu); while (1) { if (menu == 1) { printf("------------[커피]-------------\n..

① 공부/C

C언어. UP,DOWN게임

#include #include #include int main(void) { int input; int com=0; srand((unsigned)time(NULL)); printf("컴퓨터가 숫자를 설정했습니다.\n\n"); printf("------GAME START------\n\n"); com = 1 + rand() % 50 + 1; while (1) { printf("1부터 50사이의 값을 입력하세요: "); scanf("%d", &input); if (input > 50 || input com) ..